如何在数组中乘以整数?

时间:2014-12-10 23:43:41

标签: javascript

我希望复制数组中的数据以测试性能。我试过了

var users = data.data
console.log(users.length)
users.concat(JSON.parse(JSON.stringify(users)))
console.log(users.length)

Users是一个数组。 即使使用JSON-hack,它每次输出30。我怎样才能获得数据的重复?

2 个答案:

答案 0 :(得分:3)

我不知道你为什么要使用JSON方法,但如果你想在最后添加相同的内容,只需获取.concat()的返回值。

users = users.concat(users);

如果您需要制作内容的深层副本,那么您可以使用具有深层复制功能的简单循环,我相信您可以在线找到它。 JSON技术不处理所有数据类型,所以要小心那个。

如果你需要改变原始版本,如果数组不是太长,那么你可以这样做:

users.push.apply(users, users);

很长的数组可能会失败。我认为它在数组中有150,000个项目。因此,如果是这种情况,您需要将其分解为批次,或者只使用for循环。

答案 1 :(得分:1)

代码中的问题是concat不会改变数组,它会返回一个新数组

所以你可以做到

users = users.concat(JSON.parse(JSON.stringify(users)));

用于深层复制。


来自documentation

  

concat()方法返回一个新数组,该数组由调用它的数组组成,并与作为参数提供的数组和/或值连接。