【问题标题】:How to strip a key from each object in an array?如何从数组中的每个对象中删除一个键?
【发布时间】:2014-06-12 02:53:06
【问题描述】:

我有一个看起来像这样的 JS 对象:

[{"local_id":8,"id":null,"review_name":"One"},
 {"local_id":9,"id":null,"review_name":"too"}]

我想从数组中的所有对象中删除 local_id,所以我最终得到了这个:

[{"id":null,"review_name":"One"},
 {"id":null,"review_name":"too"}]

我是下划线的新手,我想我可以使用myVar = _.omit(myVar, 'local_id');,其中 myVar 是上面的对象,但这没有任何作用。

【问题讨论】:

    标签: javascript jquery arrays object underscore.js


    【解决方案1】:

    遍历数组中的每个对象并调用:

    delete obj.local_id
    

    【讨论】:

      【解决方案2】:

      试试这个

      _.each(objects, function(v) {
          delete v.local_id;
      });
      

      【讨论】:

        【解决方案3】:

        _.omit 仅适用于对象,但您将其应用于数组。这就是为什么它不起作用。您可以将它应用于数组的每个元素,就像这样

        console.log(_.map(data, function(obj) {
            return _.omit(obj, "local_id");
        }));
        

        输出

        [ { id: null, review_name: 'One' },
          { id: null, review_name: 'too' } ]
        

        【讨论】:

          【解决方案4】:

          这是我的解决方案:

          // strip "local_id" field from myVar
          $.each(myVar, function(i, obj) {
          
            // this line needed for it to work, i don't know why
            obj = $.parseJSON(JSON.stringify(obj));   
          
            delete obj.local_id;  
          
            myVar[i] = obj;
          });
          

          感谢 Yussuf S、monte 和 Nhat Nguyen 将我转到delete,我没有选择您的任何答案,因为它们不足以解决实际问题。 感谢 user2864740 让我的问题在不更改的情况下更清晰、更整洁。

          【讨论】:

            【解决方案5】:

            正如 nickf 在his answer here 中所说:

                delete myJSONObject.regex;
                // or,
                delete myJSONObject['regex'];
                // or,
                var prop = "regex";
                delete myJSONObject[prop];
            

            【讨论】:

            • 虽然有一个链接(尽管不是特定答案),但这不会添加新信息,也不是针对问题量身定制的。花几分钟时间来解释(用你自己的话)和/或应用在其他资源/答案中找到的概念 - 这将使答案总体上更好。
            猜你喜欢
            • 1970-01-01
            • 2018-07-16
            • 1970-01-01
            • 2016-11-08
            • 2023-03-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-05-17
            相关资源
            最近更新 更多