gpt4 book ai didi

javascript - 合并两个数组,存储唯一元素,并在 jQuery 中排序

转载 作者:数据小太阳 更新时间:2023-10-29 04:32:24 24 4
gpt4 key购买 nike

var Arr1 = [1,3,4,5,6];

var Arr2 = [4,5,6,8,9,10];

我正在尝试合并这两个数组,输出是 [1,3,4,5,6,4,5,6]

我已经使用 $.merge(Arr1, Arr2); 这一段来合并它们。使用警报我可以看到像上面那样的合并数组。

现在我的问题是如何获得以下输出:[1,3,4,5,6,8,9,10]

即元素应该是唯一的,并按照我提到的相同方式排序。

请帮忙。

最佳答案

您可以使用 Array.prototype.sort()进行实数排序并使用 Array.prototype.filter()只返回独特的元素。

你可以把它包装成一个类似这样的助手:

var concatArraysUniqueWithSort = function (thisArray, otherArray) {
var newArray = thisArray.concat(otherArray).sort(function (a, b) {
return a > b ? 1 : a < b ? -1 : 0;
});

return newArray.filter(function (item, index) {
return newArray.indexOf(item) === index;
});
};

请注意,自定义排序函数仅适用于数字元素,因此如果您想将它用于字符串或将字符串与数字混合,您必须更新它以考虑这些情况,但其余的应该不会有太大变化.

像这样使用它:

var arr1 = [1, 3, 4, 5, 6];
var arr2 = [4, 5, 6, 8, 9, 10];

var arrAll = concatArraysUniqueWithSort(arr1, arr2);

arrAll 现在将是 [1, 3, 4, 5, 6, 8, 9, 10]


DEMO - 连接 2 个数组,排序并删除重复项


我相信有很多方法可以做到这一点。这只是我能想到的最简洁的。

关于javascript - 合并两个数组,存储唯一元素,并在 jQuery 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22208966/

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