gpt4 book ai didi

javascript - JS 使用两个数组

转载 作者:行者123 更新时间:2023-12-02 18:20:14 25 4
gpt4 key购买 nike

我需要创建一个数组cells,如我的评论中所述。我想知道这个脚本有什么问题,以及实现这个结果的更有效的方法。

看看js fiddle http://jsfiddle.net/XvTrf/5/

var data = ['D-0','D-1','D-2','D-3','D-4','D-5','D-6','D-7','D-8','D-9'];

var cells=[];
var d = 0, lenD = data.length;

while(d< lenD){
if(d === 1 || d === 5 || d ===6){
cells.push('test');
}else {
cells.push(data[d]);
}
d++;
}
console.log(cells);


/* result wanted
D-0
test
D-1
D-2
D-3
test
test
D-4
D-5
D-6
D-7
D-8
D-9

*/

最佳答案

else 语句表示某些条目没有被输入。

此外,您可以使用 splice 方法...这会减少代码,但速度也会降低。

var data = ['D-0','D-1','D-2','D-3','D-4','D-5','D-6','D-7','D-8','D-9'];

var cells= data.slice(0);;
cells.splice(1, 0, "TEST");
cells.splice(5, 0, "TEST");
cells.splice(6, 0, "TEST");
console.log(cells);

alert(cells);

如果您想查看速度差异:

http://jsfiddle.net/DBhPB/1/

更新

更快的解决方案是预先分配数组大小,而不是使用 push 方法。

var data = ['D-0', 'D-1', 'D-2', 'D-3', 'D-4', 'D-5', 'D-6', 'D-7', 'D-8', 'D-9'];

var cells = new Array(data.length + 3);

var d = 0,
insertions = 0,
lenD = cells.length;


while (d < lenD) {

if (d === 1 || d === 5 || d === 6) {
cells[d] = 'test';
insertions++;
d++;
}
else
{
cells[d] = data[d-insertions];
d++;
}
}

alert(cells);

关于javascript - JS 使用两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18893766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com