【发布时间】:2019-09-10 18:58:03
【问题描述】:
我有一个包含多个嵌套数组的数组。每个嵌套数组都有三个对象。我正在尝试删除第二个,但目前,我得到了一个空值。我想要的只是最终输出(之后)没有空值。 Splice 正在返回一个错误,即 splice 函数不存在。
var json_data=[[{value:"value1",formattedValue:"value1"},{value:"Unwanted part 3",formattedValue:"Unwanted part 3"},{value:2831.8,formattedValue:"283,180.00 %"}],[{value:"value1",formattedValue:"value1"},{value:"Unwanted part 2",formattedValue:"Unwanted part 2"},{value:349.1111111111111,formattedValue:"34,911.11 %"}],[{value:"value2",formattedValue:"value2"},{value:"Unwanted part 1",formattedValue:"Unwanted part 1"},{value:3.3703703703703702,formattedValue:"337.04 %"}]];
document.getElementById("before").innerHTML= JSON.stringify(json_data);
for(i=0;i<json_data.length;i++){
let items = json_data[i];
const subItemToBeRemovedId = 1;
items.forEach((item) => items.forEach((subItem, index) => {
//console.log(JSON.stringify(items[subItemToBeRemovedId]));
delete items[subItemToBeRemovedId];
//return item.subItemToBeRemovedId.splice(index, 1);
}));
}
document.getElementById("after").innerHTML= JSON.stringify(json_data);
<h1>before</h1>
<div id="before"></div>
<h1>after </h1>
<div id="after"></div>
【问题讨论】:
-
为什么不使用 .splice?
-
关于重复项的接受答案详细说明了为什么
delete不起作用,以及为什么splice会起作用。 -
@HereticMonkey 我试过拼接。我的代码已将其注释掉,因为它不起作用。
-
Splice()工作完美,看看我的回答。 @ApoloRadomer
标签: javascript object