从字符串数组转换为命名值?

我有一个正在尝试制作的 Javascript 对象。该对象旨在具有基于字符串数组的命名值。


所以我想像这样转换一个数组:


var arr = ["name1", "name2", "name3"]

进入这样的对象:


var obj = {

    name1: "",

    name2: "",

    name3: ""

}

对我来说,显然我不能简单地提取先前变量的名称来获取参数的名称,因为该名称似乎是硬编码的。与我的问题类似的任何内容都会回答如何填写值,而不是名称。我认为如果情况变得更糟,我可以使用“eval”函数,但这似乎给看似相对简单的事情增加了很多复杂性。


烙印99
浏览 107回答 4
4回答

四季花海

只需使用键/值映射数组并从条目创建一个对象。const    array = ["name1", "name2", "name3"],    object = Object.fromEntries(array.map(k => [k, '']));console.log(object);

吃鸡游戏

您可以使用Array.reduce()var arr = ["name1", "name2", "name3"]var obj = arr.reduce((acc, cur) => {  acc[cur] = "";  return acc;}, {});console.log(obj);

慕工程0101907

console.log(  Object.fromEntries(    ["name1", "name2", "name3"].map(name => [name, ''])  ))

翻阅古今

检查这个:Javascript字符串数组到对象或者尝试一下,将字符串数组转换为 javascript 对象:function strings_to_object(array) {  // Initialize new empty array  var objects = [];  // Loop through the array  for (var i = 0; i < array.length; i++) {    // Create the object in the format you want    var obj = {array[i]};    // Add it to the array    objects.push(obj);  }  // Return the new array  return objects;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript