【发布时间】:2017-06-18 10:03:43
【问题描述】:
在 javascript 中我有下一个数组:
var a = [0, 2, 1, 3];
这个数组索引>值对在哪里:
0 = 0, 1 = 2, 2 = 1, 3 = 3
在对数组进行排序后保持数组索引号的最简单和最优雅的方法是什么。 sort() index>值对之后应该是这样的:
0 = 0, 2 = 1, 1 = 2, 3 = 3
.. 但我应该能够显示这些排序值。问题是数组不能通过跳转索引位置 0、2、1、3 来列出,而只能作为 0、1、2、3。
我能否以某种方式创建一个新数组,其数组值将是那些新的索引位置,然后对这个新数组进行排序但保留以前的索引>值对。
虽然听起来很简单,但我找不到解决办法。
谢谢
附:我实际上想按数组中包含的短语中单词之间的空格数进行排序。然后我想按空格数排序显示(首先是单词最多的短语)。
var input = ["zero", "here two spaces", "none", "here four spaces yes"];
var resort = [];
for (i = 0; i < input.length; i++) {
var spaces = (input[i].split(" ").length - 1);
resort.push(spaces); // new array with number of spaces list
}
【问题讨论】:
标签: javascript arrays sorting