JavaScript具有用于数组的内置排序方法.
我需要的是数组的键,而不是值.我不想修改数组.
有没有一种明显的方法来获取这些键(在我开始编写自己的排序之前…)?
例:
var fruit = ["pear", "apple", "lemon"];
fruit.sort();
// now fruit is ["apple", "lemon", "pear"];
但是我想知道的是
keys = [1,2,0] ;
所以我可以这样使用它:
var fruit = ["pear", "apple", "lemon"];
var keys = keysOfSortedArray(fruit);
for(var i in keys) {
console.log(fruit[key[i]]);
}
感谢您的帮助.你们所有人
解决方法:
试试这个代码:
var fruit = ["pear", "apple", "lemon"];
var sorted = [].concat(fruit).sort();
var sortedIndex = sorted.map(function(item) {
return fruit.indexOf(item)
});
console.log(sortedIndex) // prints [1, 2, 0];