2017-02-13 140 views
-1
function arrayToList (arr){ 
    var dataStructure = null; 
    for (var i = 0;i < arr.length; i++){ 
    dataStructure= {value: arr[i]}; 
    } 
    return dataStructure; 
} 
arrayToList([1,2,3]); 

我只想这个函数来创建一个这样的对象:添加多个键/值对的数组对象中的JavaScript

dataStructure { 
    value: 1; 
    value: 2; 
    value: 3; 
} 

到目前为止我的代码不断更新奇异值。我很确定我不会有多次“价值”(同名),但是,我尝试将其更改为value,value1,value2等以及失败

先谢谢您,对不起新手问题

+1

键必须是唯一的! –

+0

对象中不能有多个具有相同名称的键。 –

+0

谢谢你快速回复易卜拉欣!有关如何更新值名称的任何输入? – user3393940

回答

1

您可以在for循环之前定义对象,使用括号表示来设置对象的属性。您还可以传递第二个参数来指定要连接到对象属性的值。

function arrayToList (arr, counter) { 
 
    var dataStructure = {}; 
 
    for (var i = 0;i < arr.length; i++, counter++){ 
 
     dataStructure["value" + counter] = arr[i]; 
 
    } 
 
    return dataStructure; 
 
} 
 
var res1 = arrayToList([1, 2, 3], 1); 
 

 
var res2 = arrayToList([4, 5, 6], 4); 
 

 
console.log(res1, res2);

0

function arrayToList (arr){ 
 
    var dataStructure = {};    // data structure is initialized to an empty object 
 
    for (var i = 0; i < arr.length; i++) { 
 
     var key = "value" + i;    // generate the key (or var key = "value" + (i + 1); if you want to start with value1, value2 ...) 
 
     dataStructure[key] = arr[i];   // set the value of the key 'key' to arr[i] 
 
    } 
 
    
 
    return dataStructure; 
 
} 
 

 
var obj = arrayToList([1,2,3]); 
 

 
console.log(obj);

相关问题