[英]Splice or remove specific element in an Array
我有一个这样的数组变量:
dateArray = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
现在,我想删除dateArray
的前12个元素。 我尝试了以下代码,但仍无法正常工作。 我使用了splice
但不知道缺少什么。
if(dateArray.length>12){
for(var d= 0; d <12; d++){
dateArray.splice(d);
}
console.log(dateArray);
}
它输出空数组: []
我想要它仅删除前12个,输出应为:
[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
任何帮助将非常感激。
您不需要for循环即可执行此操作
for(var d= 0; d <12; d++){
dateArray.splice(d);
}
可能
dateArray.splice(0, 12);
dateArray = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; dateArray.splice(0,12); document.body.innerHTML = JSON.stringify(dateArray);
您也可以使用所需的值创建一个新数组。
dateArray = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
dateArray2 = [];
if(dateArray.length>12){
for(var i= 0; i < 12; i++){
dateArray2[i] = dateArray[i];
}
console.log(dateArray);
console.log(dateArray2);
}
jsfiddle示例。
您可以使用slice
功能删除数组元素。
slice() : slice()
方法将数组的一部分的浅表副本返回到新的数组对象中。
var d2 = dateArray.slice(12, dateArray.length);
console.log(d2); // [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
试试看,这段代码
if(dateArray.length>12){
dateArray.splice(0, 12);
console.log(dateArray);
}
来源-https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
您要做的就是:
dateArray = dateArray.slice(0,12);
尝试datearray.splice(0, 12)
。 0 =起始索引,12 =要删除的元素数。
参考: splice()
祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.