Javascript JS-使用循环填充关联数组

Javascript JS-使用循环填充关联数组,javascript,Javascript,我尝试使用循环填充JS数组,但不起作用 这是我的代码: words = ["one", "two", "three", "four"]; words_formated = []; for( var i=0 ; i<words.length ; i++ ){ words_formated.push({words[i]: "<i>"+ words[i] +"</i>"}); } words=[“一”、“二”、“三”、“四”]; 单词_格式化=[]; 对于(v

我尝试使用循环填充JS数组,但不起作用 这是我的代码:

words = ["one", "two", "three", "four"];
words_formated = [];

for( var i=0 ; i<words.length ; i++ ){
    words_formated.push({words[i]: "<i>"+ words[i] +"</i>"});
}
words=[“一”、“二”、“三”、“四”];
单词_格式化=[];
对于(var i=0;i
而是在数组块中使用

words = ["one", "two", "three", "four"];

尝试使用数组键直接指定对象属性名称时,我还遇到了一个错误,这起到了作用:

words = ["one", "two", "three", "four"];
words_formated = [];

for( var i=0; i<words.length; i++ ){
    var item = words[i]
    words_formated.push({item: "<i>"+ words[i] +"</i>"});
}
words=[“一”、“二”、“三”、“四”];
单词_格式化=[];
对于(var i=0;i像数组一样使用:

words = ["one", "two", "three", "four"];
var words_formated=[];

for( var i=0 ; i<words.length ; i++ ){

    words_formated[words[i]]= "<i>"+ words[i] +"</i>";
}

console.log(words_formated);
words=[“一”、“二”、“三”、“四”];
var words_formatted=[];

对于(var i=0;i当您将对象推入数组
words\u格式化。push({words[i]:”“+words[i]+”“});
,关键字名称
words[i]
不正确

如果你写信,问题就会解决

words\u格式化。推送({words:+words[i]+'});

如果您将
word
数组正确定义为
words=[“一”、“二”、“三”、“四”];

请尝试以下方法:

var words = ['one', 'two', 'three', 'four'],
    words_formated = [],
    item;
for (var i = 0; i < words.length; i++) {
    item = {};
    item[words[i]] = '<i>' + words[i] + '</i>';
    words_formated.push(item);
}
失败:

var k = ['name'];
var o = { k[0]: 'value' }; // SyntaxError: Unexpected token [
通行证:

var k = ['name'];
var o = {};
o[k[0]] = 'value';
o // Object {name: "value"}

数组的语法是
[…]
尝试使用words=[“一”、“二”、“三”、“四”];谢谢大家的帮助您的解决方案也很有效。非常有用您对使用数组/对象的解释。谢谢,抱歉,我没有注意到。我使用的是:
code
var item=words[I]words\u formatted.push({item:+words[I]+“”)
code
我认为你的解决方案是将js对象放入数组,不是吗?@bito_uuu这是我最后一次尝试。你想要哪个结果(选择一个数字):\1
[{item:'one'}]
,\2
[{one:'one'}]
或#3
[{words:'one'}
?根据你的选择我选择
[{one:'one'}]
看看这个JSFIDLE:按run测试它。它很有效……如果我尝试“字符串化”你的数组,我会收到一个空数组:
警报(JSON.stringify(words_formatted));
除非我们声明words_formatted为对象-
var words_formatted={};
谢谢
var a = (1, 2, 3); // a sequence of numbers (returns the last one)
a // 3
var a = [1, 2, 3]; // an array
a // [1, 2, 3]
var k = ['name'];
var o = { k[0]: 'value' }; // SyntaxError: Unexpected token [
var k = ['name'];
var o = {};
o[k[0]] = 'value';
o // Object {name: "value"}