【问题标题】:how to turn array into array of objects如何将数组变成对象数组
【发布时间】:2019-03-12 17:15:43
【问题描述】:

我正在处理一组单词,例如:

const words = ["hello", "world", "how", "are", "you"]

如何将其转换为对象数组:

const words1 = [ {0: "hello"}, {1: "world"},; {2: "how"}, {3: "are"}, {4: "you"} ]

【问题讨论】:

  • 你试过什么?你能展示一些你试过的代码吗?
  • 我尝试了一个使用单词索引的 for 循环,但我无法让它工作

标签: javascript arrays object


【解决方案1】:

您可以使用map

const words = ["hello", "world", "how", "are", "you"]

let op = words.map((value,key) => ({[key]: value}))

console.log(op)

【讨论】:

    【解决方案2】:

    给你。运行代码,你会看到打印出来的结果。

    注意:这将适用于较旧的浏览器和 JS 版本。 { [index] : ... } 的解决方案不会。

    const words = ["hello", "world", "how", "are", "you"];
    var obj;
    for( let i=0; i < words.length; i++ )
    {
      obj = {};
      obj[i] = words[i]
      words[i] = obj;
    }
    document.write( JSON.stringify( words ) );

    【讨论】:

      【解决方案3】:

      使用map 并返回一个对象,其中键是index,其值将是原始数组中的每个项目

      const words = ["hello", "world", "how", "are", "you"];
      let result = words.map(function(item, index) {
        return {
          [index]: item
        }
      });
      
      console.log(result)

      如果您尝试使用普通的for 循环,则创建一个空数组并将对象推送到它。注意i 放在[] 中的方式

      const words = ["hello", "world", "how", "are", "you"];
      
      let newArray = [];
      
      for (let i = 0; i < words.length; i++) {
        newArray.push({
          [i]: words[i]
        })
      
      }
      
      console.log(newArray)

      【讨论】:

        猜你喜欢
        • 2016-03-20
        • 1970-01-01
        • 2018-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-30
        • 1970-01-01
        相关资源
        最近更新 更多