javascript - 如何在 Node.js 中从数组中的值创建对象?

标签 javascript arrays node.js object

我有一个由单词列表以及每个单词的单词计数和 ID 组成的数组。有点像:

var array = [[word1, word2, word3],[3,5,7],[id1,id2,id3]]

现在我想为每个单词创建一个对象,以单词为名称,以计数和 ID 作为值。所以它看起来像这样:

var word1 = {count: 3, id: 'id1'}

我该如何实现这一目标? 我尝试使用 for 循环来执行此操作,如下所示,但它不起作用。如何根据数组中的值设置每个对象的名称?

for (var y=0; y < array[0].length; y++) {
        var array[0][y] = {count: array[1][y], id: array[2][y]};
    }

最佳答案

您可以将单词添加到一个字典对象中,如下所示,而不是使用单独的对象:

var words = {};

for (var y=0; y < array[0].length; y++) {
    words[array[0][y]] = {count: array[1][y], id: array[2][y]};
}

并且,您可以按如下方式访问word1:

words['word1'] // {count: 1, id: id1} 

// if the word1 doesn't contain spaces, you could also use
words.word1 //  {count: 1, id: id1} 

关于javascript - 如何在 Node.js 中从数组中的值创建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36502480/

相关文章:

javascript - jQuery 更改对象数组的任意键的值

javascript - dotenv 文件未加载环境变量

javascript - 自动分号插入和返回语句

javascript - 将 C# 列表转换为 javascript 数组

javascript - 打开和关闭 Stellar.js 运行时

arrays - 不能在不可变值 : function call returns immutable value - not sure why value is immutable 上使用可变成员

node.js - Socket.IO 身份验证逻辑似乎有效,但无论如何都允许未经身份验证的套接字

node.js - 让 REACT 应用程序在端口 3001 上运行以显示在 AWS EC2 Http 端口 80 上

javascript - 自定义设置 moveAll/removeAll 图标

javascript - 如何找到nrwl模块 "Cannot find module"的原因?