我有一个如下所示的数组,我正在尝试创建一个键值
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"]
是否可以这样创建数组
[
"One": "CNX",
"TWO": "CNX",
"THREE": "CNX"
]
这是我的小提琴,请让我知道如何做到这一点
答案 0 :(得分:3)
您尝试创建的格式在语法上不正确,您不能在数组中拥有键/值对。但是,您可以改为使用对象:
var obj = {};
["One", "TWO", "THREE"].forEach(function(v) {
obj[v] = 'CNX';
});
console.log(obj);
&#13;
答案 1 :(得分: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);
&#13;
答案 2 :(得分: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);
});