【发布时间】:2016-04-14 19:46:32
【问题描述】:
我正在尝试在 jQuery 中做另一件愚蠢的事情...
我在一个数组中有一堆字符串:
[ var1 , var2 , var3 , var4 , var5 , var6 , var7 , ...]
并且我希望数组成为“关联数组的数组”,每次都具有相同的索引...(不要问我为什么 xD):
[ { 'variable' : var1 } , { 'variable' : var2 } , { 'variable' : var3 } , ... ]
索引“变量”每次都相同。
如何做到这一点?我的尝试(如下)不起作用......
var stringarray = ['var1', 'var2', 'var3', 'var4'];
var assarray = {};
$.each(stringarray, function(index, value) {
assarray[index] = {
'variable': value
};
});
document.write(JSON.stringify(assarray))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
【问题讨论】:
-
什么不起作用?它似乎工作正常。为什么
assarray使用对象 ({}) 而不是数组 ([])?不用 jQuery 你也可以做同样的事情:stringarray.map(function(a){return {"variable": a};}). -
非 jQuery ES6:
var out = arr.map(el => ({ variable: el }))... -
但是,是的,
var assarray= {}必须是var assarray= [],如下所示。 -
只需将
assarray={}更改为assarray=[]即可实现您的愿望 -
是的,那是我的错误。有太多事情出错了,我有点绝望。我首先有
assarray=[];,但当时可能还有其他混淆......谢谢大家。
标签: javascript jquery arrays associative-array