【发布时间】:2018-04-02 11:52:44
【问题描述】:
我有两个数组: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是升序,降序还是随机顺序。对不起,我的英语不好。希望大家能理解。
【问题讨论】:
-
是
array2unique中的值吗? -
@ArmanCharan 是的..
-
如果
array1中有多个"2"s:它们应该都是分割点吗?还是只是第一次出现? -
@ArmanCharan array1 中的值也是唯一的
-
如果没有排序,时间复杂度会大幅增长
标签: javascript jquery arrays