Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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
Can';t访问看起来像JSON的数组中的数据。JavaScript_Javascript_Arrays_Sorting_Append - Fatal编程技术网

Can';t访问看起来像JSON的数组中的数据。JavaScript

Can';t访问看起来像JSON的数组中的数据。JavaScript,javascript,arrays,sorting,append,Javascript,Arrays,Sorting,Append,下面,我有一个看起来像JSON数据的数组。我通过查询某个内容并将其推送到var test=[]。我将字符串和数字附加到test数组中的方法是运行test.push({item\u name:name,number\u of\u items:number})。需要明确的是,它不是JSON: [{"item_name":"Peri Peri Chicken","number_of_items":6},{"item_name":"Deep fried beef","number_of_items":2

下面,我有一个看起来像JSON数据的数组。我通过查询某个内容并将其推送到
var test=[]。我将字符串和数字附加到
test
数组中的方法是运行
test.push({item\u name:name,number\u of\u items:number})。需要明确的是,它不是JSON:

[{"item_name":"Peri Peri Chicken","number_of_items":6},{"item_name":"Deep fried beef","number_of_items":22},{"item_name":"Roast chicken","number_of_items":7},{"item_name":"Chow Mein","number_of_items":3},{"item_name":"Sweet and sour noodles","number_of_items":5},{"item_name":"Steak","number_of_items":32}]
现在,我想对数组进行排序,以便它显示从最大的
项目数\u
到最小的
项目数\u
的数组

我试着像对待JSON数组一样对它进行排序,但它不起作用,因为我意识到我无法通过使用
test.number of theu items
访问该数组中的元素。我尝试使用该方法对数组进行排序,但它不适用于我,因为我的数据不是JSON格式的

如果有人能告诉我是否有更好的方法将多个数据附加到一个数组的同一索引中,并且将来能够更轻松地访问元素,这将非常有帮助?例如,在索引1上,我会有一些类似于
(elem1:string1,elem2:number1)
,然后索引2
(elem1:string2,elem2:number2)
和…

试试这个:

  test = [{"item_name":"Peri Peri Chicken","number_of_items":6},   {"item_name":"Deep fried beef","number_of_items":22},{"item_name":"Roast chicken","number_of_items":7},{"item_name":"Chow Mein","number_of_items":3},    {"item_name":"Sweet and sour noodles","number_of_items":5},{"item_name":"Steak","number_of_items":32}];

  test.sort(function(a, b) {
    return a.number_of_items - b.number_of_items;
  });
祝你好运试试这个:

  test = [{"item_name":"Peri Peri Chicken","number_of_items":6},   {"item_name":"Deep fried beef","number_of_items":22},{"item_name":"Roast chicken","number_of_items":7},{"item_name":"Chow Mein","number_of_items":3},    {"item_name":"Sweet and sour noodles","number_of_items":5},{"item_name":"Steak","number_of_items":32}];

  test.sort(function(a, b) {
    return a.number_of_items - b.number_of_items;
  });

祝您好运

您可以将其解析为JSON,对其排序,然后将其返回为字符串,如下所示:

var数组=[
{“项目名称”:“Peri Peri Chicken”,“项目数量”:6},
{“项目名称”:“炸牛肉”,“项目数量”:22},
{“项目名称”:“烤鸡”,“项目数量”:7},
{“项目名称”:“炒面”,“项目数量”:3},
{“项目名称”:“糖醋面”,“项目数量”:5},
{“项目名称”:“牛排”,“项目数量”:32}
];
var比较=(a,b)=>{
if(a.项目数量b.项目数量)
返回-1;
返回0;
};
var test=JSON.parse(数组);
测试、排序(比较);

array=JSON.stringify(测试)您可以将其解析为JSON,对其排序,然后将其返回为字符串,如下所示:

var数组=[
{“项目名称”:“Peri Peri Chicken”,“项目数量”:6},
{“项目名称”:“炸牛肉”,“项目数量”:22},
{“项目名称”:“烤鸡”,“项目数量”:7},
{“项目名称”:“炒面”,“项目数量”:3},
{“项目名称”:“糖醋面”,“项目数量”:5},
{“项目名称”:“牛排”,“项目数量”:32}
];
var比较=(a,b)=>{
if(a.项目数量b.项目数量)
返回-1;
返回0;
};
var test=JSON.parse(数组);
测试、排序(比较);

array=JSON.stringify(测试)它是JSON(在您的示例中,JSON只是一个符号)。数组元素是对象。对象可以通过数组索引进行寻址,对象元素的值可以通过键进行寻址。非常基本的JSON和Javascript语法,所以只要练习就可以了。它就是JSON(在你的例子中,JSON只是一个符号)。数组元素是对象。对象可以通过数组索引进行寻址,对象元素的值可以通过键进行寻址。非常基本的JSON和Javascript语法,所以只要练习。
number of\u items
已经是一个数字了,不需要
parseInt()
@n00dl3,我的谢天谢地,这段代码工作了!我已经为此挣扎了很长时间。
number of\u items
已经是一个数字了,不需要
parseInt()
@n00dl3,我的谢意,这段代码成功了!我已经为此挣扎了很长时间。