Javascript 将一个数组转换为一个";关联数组数组";在jQuery中
我正试图在jQuery中做另一件蠢事 我在一个数组中有一组字符串:Javascript 将一个数组转换为一个";关联数组数组";在jQuery中,javascript,jquery,arrays,associative-array,Javascript,Jquery,Arrays,Associative Array,我正试图在jQuery中做另一件蠢事 我在一个数组中有一组字符串: [var1,var2,var3,var4,var5,var6,var7,…] 我希望数组变成“关联数组数组”,每次都有相同的索引。。。(不要问我为什么xD): [{'variable':var1},{'variable':var2},{'variable':var3},…] 索引“变量”每次都是相同的 如何做到这一点?我的尝试(以下)无效 var-stringarray=['var1','var2','var3','var4'
[var1,var2,var3,var4,var5,var6,var7,…]
我希望数组变成“关联数组数组”,每次都有相同的索引。。。(不要问我为什么xD):
[{'variable':var1},{'variable':var2},{'variable':var3},…]
索引“变量”每次都是相同的
如何做到这一点?我的尝试(以下)无效
var-stringarray=['var1','var2','var3','var4'];
var assarray={};
$.each(字符串数组、函数(索引、值){
阿萨雷[索引]={
“变量”:值
};
});
document.write(JSON.stringify(assarray))
基本上是因为assarray不是数组。它需要:
var assarray = [];
你也可以这样做:
var assarray = $.map(stringarray, function(val){ return {variable:val};});
基本上是因为assarray不是数组。它需要:
var assarray = [];
你也可以这样做:
var assarray = $.map(stringarray, function(val){ return {variable:val};});
是的,一定要使用
map
。但我会使用内置的ES5:
var assarray = stringarray.map(function(element){
return { variable: element };
});
看看这本书。应该在IE9之后的每个浏览器上都可以使用。是的,一定要使用
map
。但我会使用内置的ES5:
var assarray = stringarray.map(function(element){
return { variable: element };
});
看看这本书。应该在IE9之后的所有浏览器上都能工作。什么不工作?它似乎工作得很好。为什么在
assarray
中使用对象({}
)而不是数组([]
)?不使用jQuery也可以做同样的事情:stringarray.map(函数(a){return{“variable”:a}})
。非jQuery ES6:var out=arr.map(el=>({variable:el}))
…但是,是的,var-assarray={}
需要是var-assarray=[]
如下所示。只需将assarray={}
更改为assarray=[]
为了得到你的愿望,那是我的错误。有太多事情出了问题,我有点绝望。我有assarray=[]代码>首先,但当时可能有其他东西混在一起。。。谢谢,伙计们,什么不起作用?它似乎工作得很好。为什么在assarray
中使用对象({}
)而不是数组([]
)?不使用jQuery也可以做同样的事情:stringarray.map(函数(a){return{“variable”:a}})
。非jQuery ES6:var out=arr.map(el=>({variable:el}))
…但是,是的,var-assarray={}
需要是var-assarray=[]
如下所示。只需将assarray={}
更改为assarray=[]
为了得到你的愿望,那是我的错误。有太多事情出了问题,我有点绝望。我有assarray=[]代码>首先,但当时可能有其他东西混在一起。。。谢谢大家。他已经有了jQuery,所以除非他已经知道IE8和更低版本不在考虑范围之内,否则使用jQuery的工作就更少了。在这里不一定不同意你的观点,但我觉得非jquery版本通常更优雅,应该尽可能地使用:)他已经有了jquery,所以除非他已经知道IE8和更低版本已经过时了,否则使用jquery的工作就更少了。在这里不一定不同意你的观点,但我觉得非jquery版本通常更优雅,应该在任何可以使用的地方使用:)谢谢!设法使它工作起来。然而事实证明,我试图解析的数组有超过100000个条目,这给了我一个BSOD,哈哈!我想我必须找到另一个解决方案…:-汉克斯!设法使它工作起来。然而事实证明,我试图解析的数组有超过100000个条目,这给了我一个BSOD,哈哈!我想我必须找到另一个解决方案…:-P