方法一:使用Array.sort()和Array.map()
使用Array.sort()方法结合Array.map()方法进行实现。map()方法可以将要排序的数组复制一份,然后按照索引数组的顺序进行排序。最后返回已排好序的数组。
示例代码如下:
const arr = [{name: '张三'}, {name: '李四'}, {name: '王五'}, {name: '赵六'}];
const indexArr = [1, 0, 3, 2];
const sortedArr = indexArr.map(index => arr[index]);
console.log(sortedArr); // [{name: '李四'}, {name: '张三'}, {name: '赵六'}, {name: '王五'}]
方法二:使用Array.reduce()
使用Array.reduce()方法对索引数组进行迭代,并在每次迭代中将当前索引对应的对象推入结果数组中。最后返回结果数组。
示例代码如下:
const arr = [{name: '张三'}, {name: '李四'}, {name: '王五'}, {name: '赵六'}];
const indexArr = [1, 0, 3, 2];
const sortedArr = indexArr.reduce((result, index) => {
result.push(arr[index]);
return result;
}, []);
console.log(sortedArr); // [{name: '李四'}, {name: '张三'}, {name: '赵六'}, {name: '王五'}]
下一篇:按照索引在字符串中查找单词