【发布时间】:2019-04-16 19:39:51
【问题描述】:
我被分配创建一个函数,给定一个对象和一个键,返回一个数组,其中包含位于给定键的数组中小于 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]]);
}
【问题讨论】:
标签: javascript arrays object for-loop