【问题标题】:How to return to new array from Array of elements?如何从元素数组返回新数组?
【发布时间】:2022-01-15 01:11:51
【问题描述】:

我有一个元素数组,我想映射到一个以键为名称的新对象数组。

let array = ["abc", "def", "xyx"]

预期输出

let array1 = [{name: "abc"}, {name: "def"}, {name: "xyz"}]

【问题讨论】:

标签: javascript ecmascript-6 ecmascript-5


【解决方案1】:

你可以使用 map() 函数,

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

    let array = ["abc", "def", "xyx"]
    const array1 = array.map( data => { 
    return {name:data}
    })
    /* this code will also work,if you dint specify the properties name 
    by default it will be the variable's name. In this case 'name' */
     const array2 = array.map( name => { 
    return {name}
    })
    console.log(array1)
    console.log(array2)

【讨论】:

    【解决方案2】:

    let arr = ['a', 'b', 'c'];
    
    let newArr = arr.map(el => ({ name: el }));
    
    console.log(newArr);

    【讨论】:

    • 我懒得写出字符串值,但它实际上会产生一个对象数组,就像预期的输出一样。
    【解决方案3】:

    你可以使用array.map:

    let newArray = array1.map((value) => ({name: value});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-22
      • 2020-05-08
      • 1970-01-01
      • 2015-07-20
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      • 2015-06-23
      相关资源
      最近更新 更多