如何对JavaScript对象数组进行排序?
如何根据价格对使用post方法创建的以下JavaScript对象数组进行排序?首先使用将json字符串加载到对象中。接下来,一旦将对象加载到JavaScript中,就可以使用内置方法根据需要多次遍历数组的元素,以根据某种逻辑对它们进行排序,该逻辑返回正数、负数或0,指示哪个元素应该在哪个元素前面,或者它们的排序位置是否相等如何对JavaScript对象数组进行排序?,javascript,Javascript,如何根据价格对使用post方法创建的以下JavaScript对象数组进行排序?首先使用将json字符串加载到对象中。接下来,一旦将对象加载到JavaScript中,就可以使用内置方法根据需要多次遍历数组的元素,以根据某种逻辑对它们进行排序,该逻辑返回正数、负数或0,指示哪个元素应该在哪个元素前面,或者它们的排序位置是否相等 [ { "_id": "560be5d1b28f247c38a4df98", "name": "sara", "location": "hjk",
[
{
"_id": "560be5d1b28f247c38a4df98",
"name": "sara",
"location": "hjk",
"price": 2000,
"rating": 4.2,
"__v": 0,
"description":"beautiful"
},
{
"_id": "560be5d1b28f247c20a4df98",
"name": "zara",
"location": "hjk",
"price": 1000,
"rating": 3.2,
"__v": 0,
"description":"amazing"
}
]
这与node.js有什么关系?可能与如何声明数组名称重复?像var o。数据已经存储。根据我文章的开头,使用JSON.parse。例如,您可以执行类似于
var o=JSON.parse(yourJSONString)的操作代码>JSON和JavaScript对象之间存在差异。JSON是一种标准化的JavaScript对象表示法,用于在编程语言之间交换数据,并存储为字符串。另一方面,JavaScript对象是作为对象而不是字符串存储在JavaScript引擎中的对象。JSON存储为字符串,而为了对JavaScript有用,首先需要将JSON字符串解析为对象/数组,以便JavaScript可以使用数据。如果数组中有2个以上的元素。我该如何分类?就像应该在a和b中传递什么一样?数组sort()
方法通过一次比较两个元素,循环遍历数组的所有元素,不管它有多大。它将根据需要循环多次,直到通过一次比较两个项来对整个数组进行排序,并根据需要交换两个项,直到对整个数组重新排序。
var o=[
{
"_id": "560be5d1b28f247c38a4df98",
"name": "sara",
"location": "hjk",
"price": 2000,
"rating": 4.2,
"__v": 0,
"description":"beautiful"
},
{
"_id": "560be5d1b28f247c20a4df98",
"name": "zara",
"location": "hjk",
"price": 1000,
"rating": 3.2,
"__v": 0,
"description":"amazing"
}
];
var ascending=true;//change to false for descending
o.sort(function(a,b) {
return (a.price - b.price)*(ascending?1:-1);
});
//variable "o" now contains our sorted object.
var json = JSON.stringify(o);//convert back to a string
//now do something with either the "o" object or "json" string