Everything Be True

完善编辑器中的every函数,如果集合(collection)中的所有对象都存在对应的属性(pre),并且属性(pre)对应的值为真。函数返回ture。反之,返回false。

function every(collection, pre) {
  // Is everyone being true?
  return pre;
}

every([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex");

记住:你只能通过中括号来访问对象的变量属性(pre)。

提示:你可以有多种实现方式,最简洁的方式莫过于Array.prototype.every()

function every(collection,pre){
  for(var i in collection){
    if(!collection[i][pre]){
      return false;
    }
  }
  return true;
}

//every([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex");
every([{"user": "Tinky-Winky", "sex": "male", "age": 0}, {"user": "Dipsy", "sex": "male", "age": 3}, {"user": "Laa-Laa", "sex": "female", "age": 5}, {"user": "Po", "sex": "female", "age": 4}], "age");
思路

这里用到了一个数组的迭代方法 every() 。该方法将传入一个函数,当每一项均返回 true 时,该函数才返回 true。

解法

function every(collection, pre) {
  // Is everyone being true?
  return collection.every(function(item,index,array){
    return item[pre];
  });
}

 



posted @ 2016-11-29 16:54  兴趣使然的椰子  阅读(791)  评论(0编辑  收藏  举报