我有一个这样的数组:
array = [1,2,3,4,5,6,7,8]
我希望删除例如最后4个值,以便我的数组成为: 数组= [1,2,3,4] 我使用了array.splice(array.length - 4,1),但它没有用。有什么想法吗?
答案 0 :(得分:2)
您可以使用slice
功能,如下所示:
.slice(0, -4)
此方法不会修改原始数组
// +---- From 0 to the index = (length - 1) - 4,
// | in this case index 3.
// vvvvv
var array = [1,2,3,4,5,6,7,8].slice(0, -4);
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }
此方法修改原始数组
var originalArr = [1, 2, 3, 4, 5, 6, 7, 8];
// +---- Is optional, for your case will remove
// | the elements ahead from index 4.
// v
originalArr.splice(-4, 4);
console.log(originalArr);
//----------------------------------------------------------------------
originalArr = [1, 2, 3, 4, 5, 6, 7, 8];
// +---- Omitting the second param.
// |
// v
originalArr.splice(-4);
console.log(originalArr);
.as-console-wrapper { max-height: 100% !important; top: 0; }
答案 1 :(得分:1)
从列表末尾删除4个元素
var myList = [1,2,3,4,5,6,7,8];
var removed = myList.splice(-myList.length-4, 4);
答案 2 :(得分:0)
C:\jenkins\jobs\**\
将从数组begin中删除0个元素,从数组结束中删除4个元素
答案 3 :(得分:0)
您还可以使用filter
删除元素(它不会修改现有数组)
array = [1,2,3,4,5,6,7,8];
array1=array.filter((x,i)=>i<array.length-4);
console.log(array1);
&#13;
或者您可以使用splice
(它会更改数组本身)
array = [1,2,3,4,5,6,7,8];
array.splice(-4);
console.log(array);
&#13;