一直在看arr.splice(),但这似乎不是我追求的。基本上,我需要“拼接”一个范围,即:
let arr = [1,2,3,4,5,6,7,8,9,10];
我需要使用以下任一项返回一个新数组:
const newA = [1,2,3]
const newB = [4,5,6]
const newC = [7,8,9]
当然arr.splice()可以实现第一个和最后一个但是如何实现像newB
这样的东西?
用简单的英语,“删除数组中的第一个n
索引以及n
最后一个索引(arr
)并给我剩下的”应该是{{1} }。
答案 0 :(得分:3)
arr.splice(0, 3);
arr.splice(-4); // or arr.splice(6)
console.log(arr);
答案 1 :(得分:3)
Yopu希望slice不要拼接(如果你想在一次通话中这样做)。
console.log([1,2,3,4,5,6,7,8,9,10].slice(3, 6));
此外,slice返回一个新数组,splice只是更改原始数组。
澄清任何歧义......
如果要删除最后n
项和第一个y
项,可以考虑定义此功能..
var a = [1,2,3,4,5,6,7,8,9,10];
const newA = arrayTrim(a, 0, 7);
const newB = arrayTrim(a, 3, 4)
const newC = arrayTrim(a, 6, 1);
console.log(newA, newB, newC);
function arrayTrim(array, first=0, last=0){
last = !last ? undefined : -last;
return array.slice(first, last)
}
如果你想从n
索引开始并从数组中获取y
项,你可以使用它。
var a = [1,2,3,4,5,6,7,8,9,10];
const newA = arrayTrim(a, 0, 3);
const newB = arrayTrim(a, 3, 3)
const newC = arrayTrim(a, 6, 3)
console.log(newA, newB, newC);
function arrayTrim(array, first, length){
return array.slice(first, length+first)
}
答案 2 :(得分:1)
您想为machine.config
arr.slice