這可能看起來很愚蠢,但我已經嘗試了很長時間。
var parentArray = [
[0.49988811188811194, 0.17249417249417248],
[0.8181398601398602, null],
[0.8181398601398602, 0.47785547785547783],
[0.49988811188811194, 0.47785547785547783]
];
function containsNull(arr) {
return (function() {
return arr.filter(e => {
if(e.some(el => el == null)) return true
})
})();
}
console.log("-->", containsNull(parentArray))
在這里我得到輸出
> "-->" Array [Array [0.8181398601398602, null]]
但我不需要陣列作為回傳值。I just want true or false that's all.
i.e,
"-->" true
如何實作這一目標?即使使用 load-ash 庫也很好!
uj5u.com熱心網友回復:
您可以將一些與包含一起使用
var parentArray = [
[0.49988811188811194, 0.17249417249417248],
[0.8181398601398602, null],
[0.8181398601398602, 0.47785547785547783],
[0.49988811188811194, 0.47785547785547783],
];
const result = parentArray.some((a) => a.includes(null));
console.log(result);
uj5u.com熱心網友回復:
似乎您正在使用多維陣列,因此您可以將其展平Array.prototype.flat并用于Array.prototype.includes檢查展平的陣列是否包含null.
let parentArray = [
[0.49988811188811194, 0.17249417249417248],
[0.8181398601398602, null],
[0.8181398601398602, 0.47785547785547783],
[0.49988811188811194, 0.47785547785547783]
];
const containsNull = (arr) => arr.flat().includes(null)
console.log(containsNull(parentArray))
以下將展平 n 維陣列并檢查它是否包含null:
function flatten(arr) {
return arr.reduce(function (flat, toFlatten) {
return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
}, []);
}
let parentArray = [
[[[[0.49988811188811194, 0.17249417249417248]]],
[0.8181398601398602, null],
[0.8181398601398602, 0.47785547785547783]],
[0.49988811188811194, 0.47785547785547783]
];
const containsNull = (arr) => flatten(arr).includes(null)
console.log(containsNull(parentArray))
uj5u.com熱心網友回復:
Array.some()在父陣列和子陣列上使用方法。
var parentArray = [
[0.49988811188811194, 0.17249417249417248],
[0.8181398601398602, null],
[0.8181398601398602, 0.47785547785547783],
[0.49988811188811194, 0.47785547785547783]
];
function containsNull(arr) {
return arr.some(list => list.some(ele => !ele))
}
console.log(containsNull(parentArray));
uj5u.com熱心網友回復:
據我了解,您只想知道任何子陣列中是否有任何空值,我會親自將陣列展平并在
此之后使用 some()這是我的答案:
const containsNull = (arr) => arr.flat(Infinity).some(el => !el);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/339797.html
標籤:javascript
