javascript - 如何根据值而不是键删除[对象对象]

标签 javascript jquery

我想从我的 json删除所有[object object],不是基于键而是基于值 i,e ([对象对象])。

这是我的 json

var allProductSpecification = {
            "Vinyl_Backlite": [{
              "Price": "280",
              "Quantity": "1",
              "Amount": "280"
            }],
            "Steel": [{
              "Price": "18",
              "Quantity": "1",
              "Amount": "18"
            }],
            "0": "[object Object]",
            "1": "[object Object]"
          }
   
   allProductSpecification = JSON.parse(allProductSpecification);
   
   delete  allProductSpecification[0];
   
    delete  allProductSpecification[1];
   
   console.log(allProductSpecification);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

这是我如何从 key:0 中删除 [object object]

delete  allProductSpecification[0];

问题:我如何动态地对任意数量的[object object]执行此操作

最佳答案

您可以使用 array#reduce 和条件来仅添加那些值不是 [object Object] 的键。

var allProductSpecification = { "Vinyl_Backlite": [{ "Price": "280", "Quantity": "1", "Amount": "280" }], "Steel": [{ "Price": "18", "Quantity": "1", "Amount": "18" }], "0": "[object Object]", "1": "[object Object]" },
    result = Object.keys(allProductSpecification).reduce((r,k) => {
      if(allProductSpecification[k] !== '[object Object]')
        r[k] = allProductSpecification[k];
      return r;
    },{});
    
console.log(result);

关于javascript - 如何根据值而不是键删除[对象对象],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48387146/

相关文章:

javascript - 在 HTML 中创建日历

javascript - php/javascript 无法在线工作

javascript - 使用查询从 div(page) 搜索文本第二次会崩溃

jquery - 使用变量作为表选择器访问 .each tr 的正确语法

javascript - driver.getTitle() 从错误页面获取数据

javascript - 使用新值刷新 dat.gui

javascript - Angular JS - 而不是总和值被串联起来

javascript - 将组件作为属性传递并尊重其在 Vue.js 中的命名插槽

javascript - 使用 JavaScript 更新 div 内容

javascript - 将 jQuery 对象存储在数组/对象中