Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将一个数组转换为一个";关联数组数组";在jQuery中_Javascript_Jquery_Arrays_Associative Array - Fatal编程技术网

Javascript 将一个数组转换为一个";关联数组数组";在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'

我正试图在jQuery中做另一件蠢事

我在一个数组中有一组字符串:

[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