gpt4 book ai didi

javascript - 排序数组中的公共(public)值段

转载 作者:行者123 更新时间:2023-11-28 06:05:34 24 4
gpt4 key购买 nike

我想计算已排序数组中的公共(public)段:

考虑以下两个数组:

var arr1 = ['a','b','c','d'];
var arr2 = ['a','c','d'];

我想返回['a'],['b'],['c','d']

这不是典型的交集,保持数组值的顺序至关重要。

有没有一种简单的方法可以使用下划线来做到这一点?

最佳答案

大概这对您有用,至少对于给定的数据是这样。

var arr1 = ['a', 'b', 'c', 'd'],
arr2 = ['a', 'c', 'd'],
arr3 = [];

arr1.forEach(function (a, i) {
if (!i || this.next) {
arr3.push([a]);
if (a === arr2[this.index]) {
this.index++;
}
this.next = false;
return;
}
if (a < arr2[this.index]) {
arr3.push([a]);
this.next = true;
return;
}
if (a === arr2[this.index]) {
arr3[arr3.length - 1].push(a);
this.index++;
}
}, { index: 0, next: false });

document.write('<pre>' + JSON.stringify(arr3, 0, 4) + '</pre>');

关于javascript - 排序数组中的公共(public)值段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36894093/

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