у меня есть:считая выбранные слова в новый объект в JS
function selectMutualKeys(arr, obj) {
var o = {};
for (var i = 0; i < arr.length; i++) {
var key = arr[i];
if (arr[i] === obj[key]) {
o[key] = obj[key] ;
}
}
return o;
}
Если вернуть новый объект только взаимно присутствующих ключей/значений:
var arr = ['a', 'c', 'e'];
var obj = { a: 1, b: 2, c: 3, d: 4};
var out = selectMutualKeys(arr, obj);
console.log(out); // --> { a: 1, c: 3 }
Что мне не хватает?
'если (обр [я] === OBJ [ключ])' то, что это должно проверить? – fafl
Основная проблема - это 'if (arr [i] === obj [key])'. Вы проверяете значение массива со значением ключа объекта, таким образом, вы никогда не вернете правильный (из примера). Это должно быть 'if (arr [i] === key)' –