Может быть, это то, что вы хотите.
ES5
var data = [{ name: 'sam', id: 12235, qccheck: { hit: false }, company: [{ name: 'comp1', Id: 5356, qccheck: { hit: false } }, { name: 'comp2', Id: 7645, qccheck: { hit: true } }] }, { name: 'mark', id: 8877, qccheck: { hit: true }, company: [{ name: 'comp3', Id: 3865, qccheck: { hit: true } }, { name: 'comp4', Id: 87546, qccheck: { hit: false } }] }],
result;
data.some(function (object, i) {
if (object.qccheck.hit) {
return result = { object: object, dataIndex: i };
}
return object.company.some(function (company, j) {
if (company.qccheck.hit) {
return result = { company: company, dataIndex: i, companyIndex: j };
}
});
});
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
ES6
var data = [{ name: 'sam', id: 12235, qccheck: { hit: false }, company: [{ name: 'comp1', Id: 5356, qccheck: { hit: false } }, { name: 'comp2', Id: 7645, qccheck: { hit: true } }] }, { name: 'mark', id: 8877, qccheck: { hit: true }, company: [{ name: 'comp3', Id: 3865, qccheck: { hit: true } }, { name: 'comp4', Id: 87546, qccheck: { hit: false } }] }],
result;
data.some((object, dataIndex) =>
object.qccheck.hit && (result = { object, dataIndex }) ||
object.company.some((company, companyIndex) =>
company.qccheck.hit && (result = { company, dataIndex, companyIndex }))
);
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }