为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

烙印99 2023-09-28 09:48:52
我有一个正在尝试制作的 Javascript 对象。该对象旨在具有基于字符串数组的命名值。所以我想像这样转换一个数组:var arr = ["name1", "name2", "name3"]进入这样的对象:var obj = {    name1: "",    name2: "",    name3: ""}对我来说,显然我不能简单地提取先前变量的名称来获取参数的名称,因为该名称似乎是硬编码的。与我的问题类似的任何内容都会回答如何填写值,而不是名称。我认为如果情况变得更糟,我可以使用“eval”函数,但这似乎给看似相对简单的事情增加了很多复杂性。
查看完整描述

4 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

只需使用键/值映射数组并从条目创建一个对象。


const

    array = ["name1", "name2", "name3"],

    object = Object.fromEntries(array.map(k => [k, '']));


console.log(object);


查看完整回答
反对 回复 2023-09-28
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

您可以使用Array.reduce()

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

var obj = arr.reduce((acc, cur) => {

  acc[cur] = "";

  return acc;

}, {});

console.log(obj);


查看完整回答
反对 回复 2023-09-28
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

console.log(

  Object.fromEntries(

    ["name1", "name2", "name3"].map(name => [name, ''])

  )

)


查看完整回答
反对 回复 2023-09-28
?
翻阅古今

TA贡献1780条经验 获得超5个赞

检查这个: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;

}


查看完整回答
反对 回复 2023-09-28
  • 4 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信