在 JavaScript 中制作反向数组的独立副本

2023-12-11

这是我的小提琴:http://jsfiddle.net/sepoto/Zgu9J/1/

我从一个反向函数开始:

function reverseArr(input) {
    var ret = new Array;
    for(var i = input.length-1; i >= 0; i--) {
        ret.push(input[i]);
    }

    //I tried changing the return value to
    //return ret.slice(0) which has no effect on making
    //an independent copy
    return ret;
}

我创建的第二个数组 pointOrigins2 不是 pointOrigins1 的独立副本。换句话说,修改pointOrigins2也在修改pointOrigins1,这不是我需要实现的。根据我在 StackOverflow 上的阅读,我尝试了一些选项,例如使用切片或使用 for 循环,但似乎还没有任何效果,所以我做了一个小提琴。

有没有办法制作反转数组的独立副本?


您正在创建一个新的独立数组,但您并未创建填充数组的项目的独立副本。你需要做类似的事情:

function reverseArr(input) {
    var ret = new Array;
    for(var i = input.length-1; i >= 0; i--) {
        ret.push({
            positionx: input[i].positionx, 
            positiony: input[i].positiony, 
            index: input[i].index
        });
    }

    return ret;
}

这样您就可以生成新对象(具有相同属性)以及新数组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 JavaScript 中制作反向数组的独立副本 的相关文章

随机推荐

  • 直接在 WP8 中保存到隔离存储

    我想将 zip 文件直接保存到与服务器隔离的存储中 但我面临的问题是 当我尝试使用以下代码保存时 我会出现内存不足异常 因为我的文件大小有时 gt 150 MB 所以我发布了一个问题here建议是 您可以将这样的文件直接下载到Isolate
  • 如何在Swagger(OpenAPI)中定义互斥的查询参数?

    我在 Swagger 中有一系列像这样的参数 parameters name username description Fetch username by username email required false type string
  • 在单独的线程中填充列表视图

    在一个活动中 我加载列表视图的行 这需要很多时间 因此我将此任务放在一个单独的线程中以允许显示进度对话框 我执行以下操作 private void doMyStuff listItems clear progressDialog show
  • 获取活动 udp 连接的目标 IP/端口?

    我可以使用 iphlpapi 检索活动的 TCP 和 UDP 连接 TCP 连接显示源信息 ip 端口 目标信息 ip 端口 状态和进程 ID 但对于 UDP 连接 它不提供远程 IP 和端口 这就是我想要得到的 在 Delphi 或 C
  • 如何从现有证书 (abc.crt) 和 abc.key 文件创建密钥库?

    我正在尝试将证书和密钥文件导入密钥库 但我无法执行此操作 如何通过导入现有证书 abc crt 和 abc key 文件来创建密钥库 最简单的可能是使用 OpenSSL 创建 PKCS 12 文件 openssl pkcs12 export
  • 限制对某些用户取消隐藏选项卡

    我知道谷歌电子表格中的保护工作表 范围功能 但我想做的是对某些用户完全隐藏工作表 我用下面的代码找到了这个问题的答案 我能够在打开电子表格时自动向指定用户隐藏某些选项卡 工作表 但这并不能阻止他们再次取消隐藏选项卡 工作表 有什么建议可以限
  • 访问已安装应用程序的列表

    我需要获取 Windows Phone 已安装的应用程序 你知道这个可以从 SDK 中获得吗 我认为通过法律途径是不可能的 每个应用程序都位于其沙箱中 无法访问父文件夹或其他应用程序
  • 如何修复 COMException 错误 80040154?

    将工作的 C 项目从 64 位 Windows 7 计算机移动到 32 位 XP 计算机会导致以下错误 Retrieving the COM class factory for component with CLSID 681EF637 F
  • 在 bash 中的 if 字符串内转义方括号

    我正在尝试做一个简单的if语句 但其中一个字符串包含方括号 我尝试过 一切都在我的脑海中浮现 我基本上是这样的 if MESSAGE username USERNAME is already taken 在这种情况下 我想抛出一条错误消息
  • 将行移至表格顶部

    我想知道是否可以将表格的一行从底部移动到顶部 当我使用到目前为止的代码时 dt nrow dt 1 lt rbind c 1X 1X 1X 1X 1X 1X 1X 1X 1X 1X 1X 1X 1X 1X 1X 1X 2X 6X 3X dt
  • 从 SQLite 数据库检索数据时出现错误

    I have created database by using SQLite Database browser I have to follow this example 数据库的名称是 笑话数据库 sql 其中有一张桌子jokes我将其
  • 使用嵌套 for 循环用 1 和 0 绘制棋盘

    我只是使用普通的 python 来用交替的 1 和 0 制作棋盘网格 我知道我可以使用带有模数运算符的嵌套 for 循环 但我不知道如何处理 for 循环内的模数 def print board board for i in range l
  • Atom 编辑器:用于插入时间戳的片段

    下面是我正在玩的 Atom 片段 我想要做的是在末尾插入带有开发人员姓名的时间戳 当多个人正在处理同一代码库并且您需要注释掉某些代码或添加注释时 这非常有用 这样其他开发人员就知道谁做了什么以及何时做的 我发现它非常有用 并想创建一个片段来
  • jqgrid - 在 IE8 中双击一行选择该行

    当我双击一行时 它在 IE8 中选择该行 但在 FF 和 Chrome 中则不然 这是 IE8 的问题还是有 bug 谢谢 这种行为是众所周知的 例如 您可以在文档中阅读以下内容jQuery dblclick 触发事件的顺序因浏览器而异 有
  • 为什么我的脚本在使用“w”打开文件并在写入之前删除内容后仅写入 1 行?

    我的目录中有一个名为 fName txt 的文件 运行以下 Python 代码片段将通过执行循环 包含代码片段 三次 将 6 个数字添加到文本文件中 分为 3 行和 2 列 但是 我想在将新数据写入其中之前完全清空该文件 否则多次运行脚本将
  • 在 flutter 中调整旋转容器的大小

    我有以下代码 import package flutter material dart import package flutter rendering dart import package vector math vector math
  • MySQL 到 PostgreSQL:如何修改此 SQL 查询?

    我有这个 MySQL 查询 它利用MONTH and YEAR SELECT MONTH created at AS month YEAR created at AS year FROM users GROUP BY MONTH creat
  • SwiftyJSON - 'inout JSON' 无法转换为 'JSON'

    我面临 JSON 解析问题 我不知道如何解决 我需要这部分 JSON 数据 columns created at DESC id DESC 要存储在 String String 可选字典 所以 这是我正在使用的代码 self columns
  • 使用python win32向excel添加注释

    我正在尝试使用 win32 使用 python 添加新注释到 excel import win32com client as win32 excel win32 gencache EnsureDispatch Excel Applicati
  • 在 JavaScript 中制作反向数组的独立副本

    这是我的小提琴 http jsfiddle net sepoto Zgu9J 1 我从一个反向函数开始 function reverseArr input var ret new Array for var i input length 1