【问题标题】:JavaScript make object to array only by messageidJavaScript 仅通过 messageid 将对象转换为数组
【发布时间】:2016-11-15 18:02:21
【问题描述】:

假设我有以下内容:

  [
 { messageid: '582b4350af7cb8f21e4b7b43',
        _id: 582b4c79105387dd21e08004 } ,
 { messageid: '582b4350af7cb8f21e4b7xb43',
        _id: 582b4c79105387dd21e08s004 } 

]

我怎样才能让它产生一个只有 messageid `s 值的数组?

喜欢:

{582b4350af7cb8f21e4b7b43,582b4350af7cb8f21e4b7xb43}?

注意:纯 javascript 或 angular

【问题讨论】:

  • 你需要一个数组或对象吗?

标签: javascript angularjs arrays object


【解决方案1】:

您可以使用.map

var output = input.map(function(item) {
  return item.messageid;
});

这将创建一个看起来像 [582b4350af7cb8f21e4b7b43,582b4350af7cb8f21e4b7xb43] 的数组

【讨论】:

    【解决方案2】:

    您可以映射属性messageid

    var objectArray = [{ messageid: '582b4350af7cb8f21e4b7b43', _id: '582b4c79105387dd21e08004' }, { messageid: '582b4350af7cb8f21e4b7xb43', _id: '582b4c79105387dd21e08s004' }],
        newArray = objectArray.map(function (o) {
            return o.messageid;
        });
    
    console.log(newArray);

    【讨论】:

      【解决方案3】:

      使用forEach循环遍历数组

      var orArray = [{
              messageid: '582b4350af7cb8f21e4b7b43',
              _id: '582b4c79105387dd21e08004'
            }, {
              messageid: '582b4350af7cb8f21e4b7xb43',
              _id: '582b4c79105387dd21e08s004'
            }
      
          ];
      
          var newArr = [];
          orArray.forEach(function(item) {
            newArr.push(item.messageid)
          });
          console.log(newArr)
      

      DEMO

      【讨论】:

        猜你喜欢
        • 2020-09-11
        • 1970-01-01
        • 2023-02-11
        • 2019-10-22
        • 1970-01-01
        • 2021-05-07
        • 2021-01-15
        • 2021-06-19
        • 2017-11-13
        相关资源
        最近更新 更多