如果我有一个数组,如[{a:'b'},{ }],如果我尝试查找元素{}的索引,则无法获取正确的索引。
我尝试过indexOf、findIndex和lodash的findIndex,但所有返回的结果都是-1,而不是1,可能是因为引用。
实际的索引应该是1,而不是-1。
如果我有一个数组,如[{a:'b'},{ }],如果我尝试查找元素{}的索引,则无法获取正确的索引。
我尝试过indexOf、findIndex和lodash的findIndex,但所有返回的结果都是-1,而不是1,可能是因为引用。
实际的索引应该是1,而不是-1。
findIndex
和Object.keys()
来完成此操作:
const arr = [{a:'b'}, {}];
const emptyIndex = arr.findIndex((obj) => Object.keys(obj).length === 0);
console.log(emptyIndex);
var array = [{ a: 'b' }, {}] ,
index = array.findIndex(o => !Object.keys(o).length);
console.log(index);
Object.keys(obj).length === 0 && obj.constructor === Object
来检查空对象。var a = [{a:'b'},{}]
var index;
a.some(function (obj, i) {
return Object.keys(obj).length === 0 && obj.constructor === Object ? (index = i, true) : false;
});
console.log(index);
var a = [{a:'b'},{}]
var index;
a.some(function (obj, i) {
return Object.keys(obj).length === 0 && obj.constructor === Object ? (index = i, true) : false;
});
console.log(index);