Javascript 如何从小于100的数组中获取所有值?

Javascript 如何从小于100的数组中获取所有值?,javascript,arrays,Javascript,Arrays,给定一个对象和一个键,我正在创建一个函数,该函数返回一个数组,该数组包含位于给定键的数组中小于100的所有元素。基本上,如果数组是空的,它应该返回一个空数组。如果数组不包含小于100的元素,则应返回空数组。 如果给定键处的属性不是数组,则应返回空数组。 如果键上没有属性,它应该返回一个空数组 以下是我目前的代码: 函数getElementsLessThan100AtPropertyobj,键{ 如果obj.key必须返回[20,50]使用筛选方法来帮助完成此操作 注: filter方法创建一个

给定一个对象和一个键,我正在创建一个函数,该函数返回一个数组,该数组包含位于给定键的数组中小于100的所有元素。基本上,如果数组是空的,它应该返回一个空数组。如果数组不包含小于100的元素,则应返回空数组。 如果给定键处的属性不是数组,则应返回空数组。 如果键上没有属性,它应该返回一个空数组

以下是我目前的代码:

函数getElementsLessThan100AtPropertyobj,键{ 如果obj.key<100{ 返回obj.key; } } var obj={ 钥匙:[1000、20、50、500] }; var输出=getElementsLessThan100AtPropertyobj,“键”;
console.logoutput;//->必须返回[20,50]使用筛选方法来帮助完成此操作

注:

filter方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素

像这样的事情应该可以做到:

var obj = {
  key: [1000, 20, 50, 500]
};

var output = obj['key'].filter(function(item){
  return item < 100;
});

console.log(output); // --> MUST RETURN [20, 50]
使用ES6 arrow函数和隐式返回可以缩短相同的时间

var output = obj['key'].filter(item => item < 100);
使用过滤器将使您的代码更短

var obj={ 密钥:[1000,20,50,500], };
console.logobj['key'].filteritem=>item<100;您正在将数组与数字进行比较。还需要使用[]对象表示法,因为为什么需要分别传递对象和键?为什么不获取…obj.key…?这不是在中使用变量访问对象的方式。obj.key与obj[key]相同您需要的是obj[key]。但还有其他问题