gpt4 book ai didi

javascript - 删除所有 power == 0 的数组

转载 作者:数据小太阳 更新时间:2023-10-29 06:00:31 24 4
gpt4 key购买 nike

我有一个用例,其中有来自后端的 JSON 响应,格式如下:

 [
{
"name": "cab",
"child": [
{
"name": "def",
"child": [
{
"name": "ghi",
"power": "0.00",
"isParent": false
}
],
"power": "1.23",
"isParent": true
}
],
"power": "1.1",
"isParent": true
},
{
"name": "hhi",
"child": [
{
"name": "hhi2",
"child": [
{
"name": "hhi3",
"power": "0.00",
"isParent": false
}
],
"power": "1.23",
"isParent": true
}
],
"power": "1.1",
"isParent": true
}
]

我需要删除所有 power == 0 的对象。在简单的数组集合上使用过滤器很容易,但可能有任何 n 个子元素可以包含 n 其中有多少个 child 。

提前致谢!

最佳答案

只需使用递归函数遍历数组:

var json = ["JSON_HERE"];
function deleteIterator(json) {
if(json.power == "0.00") {
return null;
} else if(json.child) {
json.child = deleteIterator(json.child);
}
return json;
}
for(var i = 0; i < json.length; i++) {
json[i] = deleteIterator(json[i]);
}

它的作用是:

  1. 迭代 JSON 子项。
  2. 检查功率是否为“0.00”
    • 如果是,则将其删除(返回null)
  3. 检查它是否有 child
    • 如果是,则对其进行迭代(转到第 2 步)
  4. 返回 JSON 元素。

关于javascript - 删除所有 power == 0 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39157005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com