如何验证其父级中是否存在子数组?我试过_.includes,_.find和_.findIndex但没有运气。
let arr = [[1],[2],[3]];
let el = [1];
_.includes(arr, el) // false
_.find(arr, el) // undefined
_.findIndex(arr, el) // -1
为了澄清,el
是数组,其中包含 n 整数,而arr
是数组包含 n 数量的数组。
编辑:添加了JSBIN:https://jsbin.com/tequcoloro/edit?js,console
答案 0 :(得分:3)
由于Lodash是你的首选武器,你可以这样做:
_.findIndex(arr, function (v) { return _.isEqual(v, el); }); // 0
答案 1 :(得分:2)
你必须遍历数组并比较它的元素。
您可以使用_.isEqual
功能执行此操作:
let arr = [[1],[2],[3]];
let el = [1];
console.log(arr.filter((e) => _.isEqual(e, el)))
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>
答案 2 :(得分:2)
如果你的阵列是订购的,你不必走每一个:
let arr = [[1],[2],[3]];
let el = [1];
console.log(
arr.some(arr => arr.toString() === el.toString())
)