Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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映射不适用于json数组_Javascript_Php_Jquery_Arrays_Json - Fatal编程技术网

Javascript jQuery映射不适用于json数组

Javascript jQuery映射不适用于json数组,javascript,php,jquery,arrays,json,Javascript,Php,Jquery,Arrays,Json,我有一个$.post jQuery调用,它调用一个php文件。然后,该文件返回一个JSON编码的数组。然后,映射数组以编辑数组中的一些数据。但是,我得到的错误是arr.map不是函数 idHash = {'Alpha': '1', 'Beta': '2', 'Theta': '3', 'Omega': '4'}; var arr = arr.map(function(item){ item.set = idHash[item.set] return item; }) 下面是在$

我有一个$.post jQuery调用,它调用一个php文件。然后,该文件返回一个JSON编码的数组。然后,映射数组以编辑数组中的一些数据。但是,我得到的错误是arr.map不是函数

idHash = {'Alpha': '1', 'Beta': '2', 'Theta': '3', 'Omega': '4'};
var arr = arr.map(function(item){
    item.set = idHash[item.set]
    return item;
})
下面是在$.post调用中传递的数组

[{"set":"Alpha","key":"256"},
{"set":"Omega","key":"671"},
{"set":"Theta","key":"762"},
{"set":"Beta","key":"462"}]
这里是map函数

idHash = {'Alpha': '1', 'Beta': '2', 'Theta': '3', 'Omega': '4'};
var arr = arr.map(function(item){
    item.set = idHash[item.set]
    return item;
})
在map函数之后,数组应该如下所示

[{"set":"1","key":"256"},
{"set":"4","key":"671"},
{"set":"3","key":"762"},
{"set":"2","key":"462"}]

您正在执行的数组.map需要是jquery对象。如果将结果数据设置为附加了$的jquery数组,则应该能够使用jquery映射实用程序。您还可以使用$.maparray,functionitem{}

请参阅jsFiddle链接。如果有帮助,请告诉我。这只是为了帮助使用.map。如果您想创建一个JSON对象数组,可以使用jQuery.each并将每个键、值对相应地推送到一个数组中。您可以根据自己的需要在每次迭代中使用操纵值。根据您的评论,假设您使用的idHash标识的JSON等于{'Alpha':'1','Beta':'2','Theta':'3','Omega':'4'}


您正在执行的数组.map需要是jquery对象。如果将结果数据设置为附加了$的jquery数组,则应该能够使用jquery映射实用程序。您还可以使用$.maparray,functionitem{}

请参阅jsFiddle链接。如果有帮助,请告诉我。这只是为了帮助使用.map。如果您想创建一个JSON对象数组,可以使用jQuery.each并将每个键、值对相应地推送到一个数组中。您可以根据自己的需要在每次迭代中使用操纵值。根据您的评论,假设您使用的idHash标识的JSON等于{'Alpha':'1','Beta':'2','Theta':'3','Omega':'4'}

is的签名:

jQuery.map数组,回调

因此,您可以尝试以下方法:

var data = [{"set":"Alpha","key":"256"},
{"set":"Omega","key":"671"},
{"set":"Theta","key":"762"},
{"set":"Beta","key":"462"}];

$.map(data, function(elem){
    elem.set = newValue;
    elem.key = newValue;
});
这是is的签名:

jQuery.map数组,回调

因此,您可以尝试以下方法:

var data = [{"set":"Alpha","key":"256"},
{"set":"Omega","key":"671"},
{"set":"Theta","key":"762"},
{"set":"Beta","key":"462"}];

$.map(data, function(elem){
    elem.set = newValue;
    elem.key = newValue;
});

这是错误信息。

我得到了这个错误。TypeError:无法使用“in”运算符在中搜索“2113”,然后它会列出数组。idHash指的是什么?如果将其替换为console.logitem;.map works..map需要使用$jquery对象或调用它,例如$.maparray,函数{};。该错误可能仅与代码的item.set行有关。idHash={'Alpha':'1','Beta':'2','Theta':'3','Omega':'4'};idHash应该正在更新此数组中set键下的值。[{set:Alpha,key:256},{set:Omega,key:671},{set:Theta,key:762},{set:Beta,key:462}]我得到了这个错误。TypeError:无法使用“in”运算符在中搜索“2113”,然后它会列出数组。idHash指的是什么?如果将其替换为console.logitem;.map works..map需要使用$jquery对象或调用它,例如$.maparray,函数{};。该错误可能仅与代码的item.set行有关。idHash={'Alpha':'1','Beta':'2','Theta':'3','Omega':'4'};idHash应该正在更新此数组中set键下的值。[{set:Alpha,key:256},{set:Omega,key:671},{set:Theta,key:762},{set:Beta,key:462}]