有什么办法可以使用jQuery获取数组中未排序值的索引吗?我想要的值是第一和第二个数字的索引不同。两侧的数组值相同,我只想获取未排序的数组值。
var arrA = [1,2,3,4];
var arrB = [2,1,3,4];
var c = [0,1]; //expected result
我已经尝试过了,但是没有用。它循环了一切。
var position = [];
$.each(arrA, function(i, val) {
var result = []
$.each(arrB, function(i2, val2) {
if(val!==val2){
result.push(i2)
// console.log(val, val2)
}
});
position.push(result)
});
console.log(position)
答案 0 :(得分:0)
const sorted = [1, 2, 3, 4];
const unsorted = [2, 1, 3, 4];
let c = [];
$.each(sorted, i => {
if (sorted[i] !== unsorted[i]) {
c.push(i);
}
});
console.log(c);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
for
循环
var arrA = [1, 2, 3, 4];
var arrB = [2, 1, 3, 4];
var c = [];
for (let i = 0; i < arrA.length; i++) {
if (arrA[i] !== arrB[i]) {
c.push(i);
}
}
console.log(c);
unsorted
数组时如果只有 unsorted array 并想找出未排序项的含义,则可以创建一个sorted数组,然后应用与之前相同的逻辑
const arr = [2, 1, 3, 4];
const sorted = [...arr].sort();
var c = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] !== sorted[i]) {
c.push(i);
}
}
console.log(c);