2017-01-04 20 views
-1

У меня есть массив, как показано ниже, от которого я пытаюсь создать ключевое значениеКак создать пару ключей значения JSON массив

var text = ["One","TWO","THREE"]; 

var myarray = []; 

$(document).ready(function() { 
for(var i=0;i<text.length;i++) 
{ 
var name = text[i]; 
var toaddstr = 'CNX' 
myarray.push(name+":"+toaddstr); 
} 
console.log(myarray); 
}); 

Когда я запускаю Вышеприведенную программу вывод я получаю

["One:CNX", "TWO:CNX", "THREE:CNX"] 

IS можно создать массив, как таким образом

[ 
"One": "CNX", 
"TWO": "CNX", 
"THREE": "CNX" 
] 

Это мой скрипку, пожалуйста, дайте мне знать, как это сделать-й является

http://jsfiddle.net/cod7ceho/424/

+1

'[ "Один": "CNX", "ДВА": "CNX", «ТРИ ":" CNX " ]' недействителен JSON и JS объект – Satpal

ответ

3

, который вы пытаетесь создать формат не является синтаксически правильно, вы не можете иметь пар ключ/значение в массиве. Тем не менее, вы можете использовать объект вместо:

var obj = {}; 
 
["One", "TWO", "THREE"].forEach(function(v) { 
 
    obj[v] = 'CNX'; 
 
}); 
 
console.log(obj);

0

Вы должны использовать объект (который является карта JS), а не массив. См. Новый код ниже.

var text = ["One","TWO","THREE"]; 

var myarray = {}; 

$(document).ready(function() { 
for(var i=0;i<text.length;i++) 
{ 
var name = text[i]; 
var toaddstr = 'CNX' 
myarray[name] = toaddstr; 
} 
console.log(myarray); 
}); 
1

следующий формат:

[ 
"One": "CNX", 
"TWO": "CNX", 
"THREE": "CNX" 
] 

Не является допустимым. Оно должно быть:

{ 
    "One": "CNX", 
    "TWO": "CNX", 
    "THREE": "CNX" 
} 

Чтобы сделать это:

var text = ["One", "TWO", "THREE"]; 
 

 
var myarray = {}; 
 

 
for (var i = 0; i < text.length; i++) { 
 
    var name = text[i]; 
 
    var toaddstr = 'CNX' 
 
    myarray[name] = toaddstr; 
 
} 
 
console.log(myarray);