[英]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.