search

Home  >  Q&A  >  body text

JavaScript 数组操作

现有如下数组:

var arr = [
    {
        name: 'Tony',
        age: 54
    },
    {
        name: 'Yuk',
        age: 52
    },
    {
        name: 'Jamo',
        age: 65
    }
];

要将数组元素的 name 属性取出来重新组成一个数组,要求顺序不变,效果如下:

['Tony', 'Yuk', 'Jamo']

不用 for 循环,有别的办法吗?

巴扎黑巴扎黑2901 days ago328

reply all(5)I'll reply

  • 高洛峰

    高洛峰2017-04-10 14:34:30

    var newArr = arr.map(function(item) {
      return item.name;
    });
    

    reply
    0
  • 迷茫

    迷茫2017-04-10 14:34:30

    先将arr转换成字符串,再利用正则,匹配age前边的内容

    JSON.stringify(arr).match(/[\w]{1,}?(?=","age":)/g)

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:34:30

    哈哈,map本事也是循环

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 14:34:30

    var newArr = _.map(arr, function(item){return item.name})

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 14:34:30

    arr.reduce(function(item, next) {
      return item.concat(next.name)
    }, [])

    reply
    0
  • Cancelreply