尝试创建一个使用 filter 但不使用 for 或 while 循环或 foreach 函数的函数,该函数将循环遍历对象数组,仅返回其属性值。例如,
function getShortMessages(messages) {
return messages.filter(function(obj){
return obj.message
});
}
所以如果我打电话
getShortMessages([{message:"bleh"},{message:"blah"}]);
我应该得到一个数组的返回 = ["bleh","blah"]
我只是不确定如何根据这些准则实施过滤器。我也在考虑使用链函数,也许是.map。
//// 这是完整的代码挑战规范/////
基本:过滤器
练习 4(共 18 个)
Task
使用 Array#filter 编写一个名为 getShortMessages 的函数。
getShortMessages 接受具有“.message”属性的对象数组,并返回长度小于 50 个字符的消息数组。
该函数应该返回一个包含消息本身的数组,而不包含它们的包含对象。
论据
- messages:由 10 到 100 个随机对象组成的数组,如下所示:
{
message: 'Esse id amet quis eu esse aute officia ipsum.' // random
}
状况
- 不要使用任何 for/while 循环或 Array#forEach。
- 不要创建任何不必要的功能,例如帮手。
Hint
Example
[ 'Tempor quis esse consequat sunt ea eiusmod.',
'Id culpa ad proident ad nulla laborum incididunt.',
'Ullamco in ea et ad anim anim ullamco est.',
'Est ut irure irure nisi.' ]
资源
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
样板文件
function getShortMessages(messages) {
// SOLUTION GOES HERE
}
module.exports = getShortMessages
» 要再次打印这些说明,请运行:function-javascript print
» 要在测试环境中执行您的程序,请运行:function-javascript run program.js
» 要验证您的程序,请运行:function-javascript verify program.js
» 如需帮助,请运行:function-javascript help