Я работаю над скриптом, в котором мне приходится сортировать arr массивов на основе второго элемента внутренних массивов. Например здесь ниже я упомянул массив:Сортировка вложенного массива на основе второго значения во внутреннем массиве в Javascript
var newInv = [
[2, "Hair Pin"],
[3, "Half-Eaten Apple"],
[67, "Bowling Ball"],
[7, "Toothpaste"]
];
Я хочу, чтобы отсортировать этот массив на основе всех значений строк во внутренних массивах. Так результат должен быть:
var result = [
[67, "Bowling Ball"],
[2, "Hair Pin"],
[3, "Half-Eaten Apple"],
[7, "Toothpaste"]
];
Для этого я написал следующий сценарий: Есть ли другой способ сделать то же самое? Может быть, без создания объекта?
function arraySort(arr) {
var jsonObj = {};
var values = [];
var result = [];
for (var i = 0; i < arr.length; i++) {
jsonObj[arr[i][1]] = arr[i][0];
}
values = Object.keys(jsonObj).sort();
for (var j = 0; j < values.length; j++) {
result.push([jsonObj[values[j]], values[j]]);
}
return result;
}
var newInv = [
[2, "Hair Pin"],
[3, "Half-Eaten Apple"],
[67, "Bowling Ball"],
[7, "Toothpaste"]
];
console.log(arraySort(newInv));
* "без создания объекта JSon «* - Вы не создали« объект JSON »([нет su ch thing] (http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/)), вы создали «объект». – nnnnnn