我在Vue中有一个对象,它看起来像这样:
list {
123456 : Array [2]
223456 : Array [5]
323456 : Array [8]
423456 : Array [0]
523456 : Array [1]
623456 : Array [3]
}
现在我要删除数组0的那个423456(数字不是字符串)。我怎么能得到它?
答案 0 :(得分:1)
您可以循环访问对象的键并首先查找空值。然后再次循环删除这些键:
let list = {
123456: [1, 2],
223456: [1, 2, 3, 4, 5],
323456: [1, 2, 3, 4, 5, 6, 7, 8],
423456: [],
523456: [1],
623456: [1, 2, 3]
};
Object.keys(list)
.filter(key => list[key].length === 0)
.forEach(key => {
delete list[key];
});
console.log(list);
答案 1 :(得分:1)
您只需指定要删除的密钥
这是一个工作示例。
var list = {
123456: Array[2],
223456: Array[5],
323456: Array[8],
423456: Array[0],
523456: Array[1],
623456: Array[3]
};
var toBeDeleted = 423456;
delete list[toBeDeleted];
console.log(list);
答案 2 :(得分:0)
使用reduce
分配没有空数组的列表
list = Object.keys(list).reduce( (acc, c) => {
if ( list[c].length > 0 )
{
acc[c] = list[c];
}
}, {});
<强>演示强>
var list = {
123456: [1, 2],
223456: [1, 2, 3],
323456: [1, 2, 4, 5],
423456: [],
523456: [1, 2],
623456: [1, 2, 4, 5]
};
list = Object.keys(list).reduce((acc, c) => {
if (list[c].length > 0) {
acc[c] = list[c];
}
return acc;
}, {});
console.log(list);
&#13;