Array()与[]在Java语言中的差异拼接

问题描述 投票:0回答:2

我正在尝试在Javascript的索引功能中复制Python的插入。

var index = [0,1,2,3,4]
var nums = [0,1,2,2,1]

const target = new Array(nums.length);

for (let i=0; i<index.length; i++) {
  target.splice(nums[i], 0, index[i]);
};

console.log(target);

这将产生以下输出:

[0,4,1,3,2,<5个空项>]

但是,如果我运行以下代码:

var index = [0,1,2,3,4]
var nums = [0,1,2,2,1]

const target = [] //new Array(nums.length);

for (let i=0; i<index.length; i++) {
  target.splice(nums[i], 0, index[i]);
};

console.log(target);

这将产生以下输出:

[0,4,1,3,2]

发生了什么事?第二个输出是我想要的输出。

javascript arrays insert splice
2个回答
0
投票

[new Array(nums.length)将使用该数字的'空插槽'填充数组。

const target = []将为[]


0
投票

当您像这样初始化数组时:

© www.soinside.com 2019 - 2024. All rights reserved.