我有两个数组:array1 和 array2。所以 array1 将根据 array2 中的元素进行拆分。例如:
array1["1","2","3","4","5","6"]
array2["2","5"]
我的代码:
var prev = 0;
newArray = [];
for (var ii in array2) {
var index = array1.indexOf(array2[ii]);
if (index != prev) {
newArray.push(array1.slice(prev, index));
prev = index;
}
}
newArray.push(array1.slice(prev));
结果将会是:
["1"],["2","3","4"],["5","6"]
但现在我面临的问题是array1的元素可能不按顺序排列。例如:
["1","5","3","4","2","6"]
。所以基于我已有的代码,它将错误地拆分array1,因为array2中的第一个元素是"2",所以它已经将array1拆分成了两部分["1","5","3","4"],["2","6"]
。接下来当处理到"5"时,它找不到它。期望的结果是:
["1"],["5","3","4"],["2","6"]
那么如何根据array2拆分array1,无论array1是按升序、降序还是随机顺序排列呢?抱歉我的英语不好,希望你们能理解。
array2
中的值是否是unique
的? - Arman Charanarray1
中有多个“2”,它们都应该作为分割点吗?还是只考虑第一次出现的? - Arman Charan