扫码关注官方订阅号
请填空,输出对象中值大于2的key的数组
var data = {a:1,b:2,c:3,d:4}; Object.keys(data).filter(function(x){return______});
期待输出:['c','d']
['c','d']
欢迎选择我的课程,让我们一起见证您的进步~~
这道题想干什么不是很明显吗?都有个期待输出了,其实只要理解题目里代码的意思就很简单了。
// 这一句很简单不用说明 var data = {a:1,b:2,c:3,d:4}; // 下面这句一步步来看 Object.keys(data).filter(function(x){return______});
Object.keys(data)会返回一个Object的所有key的数组,也就是这里会返回 ['a','b','c','d'] ,我们假定这里的返回值为 keys
Object.keys(data)
那么接下来再看 keys.filter(function(x){return______})
keys.filter(function(x){return______})
可以参看MDN上的说明Array.prototype.filter()
filter() 方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组。这是数组的筛选方法,该方法需要传入一个回调函数,该回调函数可以有三个参数分别是 元素的值,元素的索引,被遍历的数组。
所以这里 return 后面的语句只要写一个布尔型表达式即可,然后题目要求是值大于2,那就应该是这样
// 这里的x只是key,并非valuereturn data[x] > 2;
return data[x] > 2;
写的比较急因为马上要去吃饭了,理解代码就好。
填空里写,data[x],蒙的
data[x] > 2
第一个 Object.keys(data) 就是去取出 `data` 的所有键值——['a', 'b', 'c', 'd']
['a', 'b', 'c', 'd']
这些键值每一个都对应一个数值不是吗?这个 filter 函数的作用就是要把数值大于 2 的所对应的键值给取出来。
filter
所以要填 data[x] > 2。
Object.keys 返回对象中所有可遍历属性的名字组成的数组。filter 是数组的一个方法,作用是过滤数组。以数组中每个元素为实参调用后面的函数,filter 返回这个函数返回值为 true 的元素组成的数组。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这道题想干什么不是很明显吗?都有个期待输出了,其实只要理解题目里代码的意思就很简单了。
Object.keys(data)会返回一个Object的所有key的数组,也就是这里会返回 ['a','b','c','d'] ,我们假定这里的返回值为 keys那么接下来再看
keys.filter(function(x){return______})可以参看MDN上的说明Array.prototype.filter()
filter() 方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组。
这是数组的筛选方法,该方法需要传入一个回调函数,该回调函数可以有三个参数分别是 元素的值,元素的索引,被遍历的数组。
所以这里 return 后面的语句只要写一个布尔型表达式即可,然后题目要求是值大于2,那就应该是这样
// 这里的x只是key,并非value
return data[x] > 2;写的比较急因为马上要去吃饭了,理解代码就好。
填空里写,data[x],蒙的
data[x] > 2
data[x] > 2
第一个
Object.keys(data)就是去取出 `data` 的所有键值——['a', 'b', 'c', 'd']这些键值每一个都对应一个数值不是吗?这个
filter函数的作用就是要把数值大于 2 的所对应的键值给取出来。所以要填
data[x] > 2。Object.keys 返回对象中所有可遍历属性的名字组成的数组。
filter 是数组的一个方法,作用是过滤数组。以数组中每个元素为实参调用后面的函数,filter 返回这个函数返回值为 true 的元素组成的数组。
data[x] > 2