use*_*688 35 javascript arrays
是否可以根据索引删除数组的内容?如果我有这样的2个数组:
Array1包含15个值,我想获得最后10个值.
在删除元素之前:
array1 == [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
Run Code Online (Sandbox Code Playgroud)
删除元素后:
array1 == [5,6,7,8,9,10,11,12,13,14]
Run Code Online (Sandbox Code Playgroud)
包含15个值的Array2然后我只想获得前10个值.
在删除元素之前:
array2 == [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
Run Code Online (Sandbox Code Playgroud)
删除元素后:
array2 == [0,1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)
但是必须满足条件:
如果数组只包含3个元素则不需要丢弃数组中的元素,以及数组只包含10个元素.但如果数组包含10个以上的元素,则会丢弃多余的元素.
Guf*_*ffa 66
保留前十项:
if (theArray.length > 10) theArray = theArray.slice(0, 10);
Run Code Online (Sandbox Code Playgroud)
或者,可能不那么直观:
if (theArray.length > 10) theArray.length = 10;
Run Code Online (Sandbox Code Playgroud)
保留最后十个项目:
if (theArray.length > 10) theArray = theArray.slice(theArray.length - 10, 10);
Run Code Online (Sandbox Code Playgroud)
您可以使用第一个参数的负值来指定长度 - n,并且省略第二个参数会将所有项目都指向结尾,因此也可以将其写为:
if (theArray.length > 10) theArray = theArray.slice(-10);
Run Code Online (Sandbox Code Playgroud)
该splice
方法用于删除项目并替换为其他项目,但如果您未指定任何新项目,则可以仅用于删除项目.保留前十项:
if (theArray.length > 10) theArray.splice(10, theArray.length - 10);
Run Code Online (Sandbox Code Playgroud)
保留最后十个项目:
if (theArray.length > 10) theArray.splice(0, theArray.length - 10);
Run Code Online (Sandbox Code Playgroud)
Aar*_*lla 17
使用该功能array.splice(index, count)
删除count
元素index
.要从末尾删除元素,请使用array1.splice(array1.length - 10, 1);