gpt4 book ai didi

javascript - 如何根据另一个数组对一个数组进行排序

转载 作者:行者123 更新时间:2023-11-28 00:01:31 25 4
gpt4 key购买 nike

我有两个数组:

  • values:包含所有值的数组
  • mainValues:包含 mainValues 的列表,这些值已经存在于数组值中,但必须进行排序。 IE。 mainValues 应该是数组值中的第一个值

我这样解决了这个问题,但我不确定这是否是最佳实践:

var values = ['bla', 'x', 'y', 'z', 'two', 'one', 'three'];
var mainValues = ['one', 'two', 'three'];

_.forEach(mainValues.reverse(), function(val) {
var index = _.indexOf(values, val);
values.splice(index, 1);
values.unshift(val);
});

console.log(values); // => ["one", "two", "three", "bla", "x", "y", "z"]
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.0/lodash.min.js"></script>

最佳答案

这似乎运作良好:

var values = ['bla', 'x', 'y', 'z', 'two', 'one', 'three'];
var mainValues = ['one', 'two', 'three'];


result = _(mainValues).concat(_.difference(values, mainValues))

document.write(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.0/lodash.min.js"></script>

关于javascript - 如何根据另一个数组对一个数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31760605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com