你好我在尝试排序数组的某个对象时遇到问题我有这样的事情
好的,这是一个更好的例子,我从ajax调用接收字符串,字符串是这样的:
"名称|价格|等等|等等@名称|价格|等等|等等"
并使用split函数将分隔符@分割成两个数组,然后再将它们拆分为| (管道),结果我得到以下内容:
并循环遍历每个像这样的值
for(z = 0; z < actualarr.length; z++) {
arr[1],
arr[2]
.....
}
["name", "price", "blah" "blah"],
["name", "price", "blah" "blah"],
["name", "price", "blah" "blah"],
["name", "price", "blah" "blah"],
["name", "price", "blah" "blah"],
["name", "price", "blah" "blah"]
问题是它们在for循环中,每个数组都是一个项目,我想要做的是按照&#34; price&#34;的值对项目进行排序。这是在一定的指数。谢谢!
答案 0 :(得分:0)
arr.sort((x,y) => x[1] - y[1])
让1成为您的特定索引,arr是您的数组
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
答案 1 :(得分:0)
您只能在生成数据之外对数组进行排序。获得完整数组后,可以使用Array#sort
对其进行排序。
var string = "foo|42|blah1|blah2@bar|17|blah3|blah4",
array = string.split('@').map(function (s) { return s.split('|'); });
array.sort(function (a, b) { return a[1] - b[1]; });
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }