2 回答
TA贡献1864条经验 获得超6个赞
创建一个二维数组,其中包含 2 个数组的值并在排序后提取 2 个数组。
let arrOne = [10, 2, 3, 14, 1],
arrTwo = [1, 2, 3, 5, 4];
arrOne
// create 2d array which contains both array values
.map((v, i) => [v, arrTwo[i]])
// sort the combined array based on first array element
.sort(([a], [b]) => a - b)
// update the main arrays
.forEach(([v1, v2], i) => {
arrOne[i] = v1;
arrTwo[i] = v2;
})
console.log(arrOne, arrTwo)
TA贡献1786条经验 获得超13个赞
为了解决这个问题,我不会使用两个数组。
我会将一个对象推送到一个数组中。使其更加结构化,保持数据“在一起”
const data = [{
one: 10,
two: 1
},
{
one: 2,
two: 2
},
{
one: 3,
two: 3
},
{
one: 14,
two: 5
},
{
one: 1,
two: 4
}
添加另一个输入:
data.push({
one: 200,
two: 6
})
然后按“二”键排序
data.sort((a, b) => {
return a.two-b.two
})
请注意,排序会改变数组,但如果这是一个问题,您可以复制。无论如何,猜测对原始数组进行排序对您的用例来说不是问题。
- 2 回答
- 0 关注
- 95 浏览
添加回答
举报