Мне было дано задание на создание функции, которая, учитывая объект и ключ, возвращает массив, содержащий все элементы массива, расположенные по данному ключу, которые меньше 100. Я придумал это:
function getElementsLessThan100AtProperty(obj, key) {
var lessThan100 = [];
var targetedKey = obj[key];
if (targetedKey === undefined) {
return [];
}
for (i = 0; i < targetedKey.length; i++) {
if (targetedKey[i] < 100) {
lessThan100.push(targetedKey[i]);
}
}
return lessThan100;
}
Теперь это работает, но мне интересно, почему мой оригинальный код не сработал. Я попытался перебрать массив в указанном свойстве, написав код ниже, но это не сработало. Почему я не могу это сделать? Кроме того, кто-нибудь покажет мне, как очистить этот код, чтобы сделать его короче?
for (i = 0; i <obj[key].length; i++) {
if (obj[key[i]].length < 100) {
lessThan100.push(obj[key[i]]);
}