【问题标题】:Taking key data from objects in Array and turning them into a , separated string从 Array 中的对象中获取关键数据并将它们转换为一个分隔的字符串
【发布时间】:2016-06-23 18:47:03
【问题描述】:

您会使用什么方法或lodash 函数来提取下面的 id 并从中生成逗号分隔的字符串?

var myArray = [
    {
        tag: 'wunwun',
        id: 132
    },
    {
        tag: 'davos',
        id: 452
    },
    {
        tag: 'jon snow',
        id: 678
    }
]

像这样:'132, '452', '678'

【问题讨论】:

    标签: javascript arrays string lodash


    【解决方案1】:

    使用Array#map 获取id 的数组并在其上应用Array#join

    var myArray = [{
      tag: 'wunwun',
      id: 132
    }, {
      tag: 'davos',
      id: 452
    }, {
      tag: 'jon snow',
      id: 678
    }];
    var op = myArray.map(function(item) {
      return item.id;
    });
    console.log(op.join(', '))

    【讨论】:

    • 不需要join,直接拨打toString即可。
    【解决方案2】:

    无需为此使用第三方库

    var commaSeparatedIds = myArray.map(function(item) {
        return item.id;
    }).join(','); // result: '132,452,678'
    

    或者,如果您只想将它​​们作为一个数组,请跳过 join

    var commaSeparatedIds = myArray.map(function(item) {
        return item.id;
    }); // result: ['132', '452', '678']
    

    参考资料:

    【讨论】:

      【解决方案3】:

      嗯,这很简单:

      _.pluck(myArray, 'id').join(', ')

      _.map 的工作方式相同,但您也可以传入函数而不是数组

      【讨论】:

      • 也刚刚用过这个:var terms = _.map(alertSettings.fav_tags, function (tag) { return tag.term_id; });
      • 你不需要这个功能,你也可以直接申请key
      【解决方案4】:

      myArray.map(function(element){return element.id;}).join(',');

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-09
        • 1970-01-01
        • 2013-05-06
        • 2014-06-12
        • 2015-01-29
        • 2019-01-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多