输入:
{
"8": [{
"a": true,
"b": {
"xyz": 1
}
}, {
"a": false,
"b": {
"xyz": 2
}
}],
"13": [{
"b": {
"xyz": 4
}
}]
}
输出:
{
"8": [{
"b": {
"xyz": 2
}
}]
}
如何使用 javascript 和 lodash 库删除每个键的第一个元素并返回同一对象的几个键?
最佳答案
没有 loadash 做 Array#shift
和 Array#foreach
- 首先使用
Object.keys
将 obj 转换为数组 - 然后循环值。并使用
Array#shift
删除数组的第一个索引 - 然后应用数组长度为0的条件从主对象中移除键值对
var obj = { "8": [{ "a": true, "b": { "xyz": 1 } }, { "a": false, "b": { "xyz": 2 } }], "13": [{ "b": { "xyz": 4 } }] };
Object.keys(obj).forEach(a => {
obj[a].shift()
obj[a] = obj[a];
if(obj[a].length == 0)
delete obj[a];
});
console.log(obj)
关于Javascript 数据转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55285775/