Javascript 如何将数组中的entrie相乘?
我希望复制阵列中的数据以测试性能。我试过了Javascript 如何将数组中的entrie相乘?,javascript,Javascript,我希望复制阵列中的数据以测试性能。我试过了 var users = data.data console.log(users.length) users.concat(JSON.parse(JSON.stringify(users))) console.log(users.length) 用户是一个数组。 它每次输出30个,即使使用JSON攻击。如何实现数据的复制?我不知道为什么要使用JSON方法,但如果要在末尾添加相同的内容,只需获取.concat()的返回值即可 如果您需要对内容进行深度复制
var users = data.data
console.log(users.length)
users.concat(JSON.parse(JSON.stringify(users)))
console.log(users.length)
用户
是一个数组。
它每次输出30个,即使使用JSON攻击。如何实现数据的复制?我不知道为什么要使用JSON方法,但如果要在末尾添加相同的内容,只需获取
.concat()的返回值即可
如果您需要对内容进行深度复制,那么您可以使用带有深度复制功能的简单循环,我相信您会在网上找到它。JSON技术并不能处理所有的数据类型,所以要小心使用那个数据类型
如果需要对原始阵列进行变异,并且阵列不太长,则可以执行以下操作:
users.push.apply(users, users);
很长的阵列可能会失败。我想大概是阵列中的150000个项目。因此,如果是这种情况,您需要将其分解为多个批次,或者只使用for
循环。我不知道为什么要使用JSON方法,但是如果您想在末尾添加相同的内容,只需获取.concat()的返回值即可
如果您需要对内容进行深度复制,那么您可以使用带有深度复制功能的简单循环,我相信您会在网上找到它。JSON技术并不能处理所有的数据类型,所以要小心使用那个数据类型
如果需要对原始阵列进行变异,并且阵列不太长,则可以执行以下操作:
users.push.apply(users, users);
很长的阵列可能会失败。我想大概是阵列中的150000个项目。因此,如果是这种情况,您需要将其分解为多个批次,或者只使用for
循环。代码中的问题是concat
不会更改数组,而是返回一个新的数组
所以你可以
users = users.concat(JSON.parse(JSON.stringify(users)));
用于深度复制
从
concat()
方法返回一个新数组,该数组由调用它的数组和作为参数提供的数组和/或值组成
代码中的问题是concat
不会改变数组,而是返回一个新数组
所以你可以
users = users.concat(JSON.parse(JSON.stringify(users)));
用于深度复制
从
concat()
方法返回一个新数组,该数组由调用它的数组和作为参数提供的数组和/或值组成
你想让数组的长度增加一倍?你想让数组的长度增加一倍?