Я надеюсь, что заголовок правильно отражает проблему, которую я пытаюсь решить. что мне нужно сделать, так это найти в объекте соответствующий элемент из проверочного массива и вернуть индекс объекта этого совпадения. to whit:
const checkArray = ['18A38', '182B92', '85F33']; // these are the values to match
const dataOject = [
0 => ['id'=>'853K83', 'isGO'=>false], // this is the object to search through
1 => ['id'=>'85F33', 'isGO'=>true],
2 => ['id'=>'97T223', 'isGO'=>true],
3 => ['id'=>'18A38', 'isGO'=>false],
4 => ['id'=>'182B92', 'isGO'=>true],
...
];
что мне нужно сделать, так это найти соответствующий индекс, чтобы затем я мог проверить, установлен ли флаг isGO
. это то, что я пытался, когда я зашел в тупик:
results = checkArray.forEach(function(value, index){
if (dataObject.findIndex(function(k=> k == value))) results.push(k);
// i know 'results.push(k)' is not right, but it's the essence of what i want. :P
};
я ожидаю, что results
будет массивом индексов, который я могу затем go вернуться и проверить dataObject
для набора isGO
флагов; results
должен выглядеть так:
results = [3, 1, 4];
, но я в тупике, как правильно сделать findIndex
. Я читал this и this и this , но, будучи образовательными, они не имеют дело с массивом и объектом. i do имеют подчеркивание в этом проекте, но, опять же, не нашел ничего, что я считаю полезным в этом сценарии.
как мне заставить это работать так, чтобы мне что мне нужно?