小编Pet*_*ach的帖子

函数内部的if-else语句如何工作?

我一直在完成对FreeCodeCamp的挑战,偶然发现了这个算法的解决方案.无法理解if else语句如何在这里工作.

function chunkArrayInGroups(arr, size) {

  var temp = [];
  var result = [];

  for (var a = 0; a < arr.length; a++) {
    if (a % size !== size - 1)
      temp.push(arr[a]);
    else {
      temp.push(arr[a]);
      result.push(temp);
      temp = [];
    }
  }

  if (temp.length !== 0)
    result.push(temp);

  return result;
}
Run Code Online (Sandbox Code Playgroud)

为什么temp = []else街区尽头?

javascript

4
推荐指数
1
解决办法
163
查看次数

为什么我们需要在函数中将映射的布尔值减少为单个值?

为什么我们需要reduce在函数末尾将布尔值映射为单个值?

该函数的目的是使用另一个对象(第二个参数)中的对来过滤对象数组key value(第一个参数)。

它应该返回另一个数组,object其中第一个参数中的对象与第二个参数中的key和都匹配value

例如,如果第一个参数是[{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }]

第二个是{ last: "Capulet" }

该函数应该返回[{ first: "Tybalt", last: "Capulet" }]

这是我偶然发现的解决方案,无法理解map() 和reduce()在这里如何工作。

function whatIsInAName(collection, source) {
  var srcKeys = Object.keys(source);

  return collection.filter(function (obj) {
    return srcKeys
      .map(function(key) {
        return obj.hasOwnProperty(key) && obj[key] === source[key];
      })
      .reduce(function(a, b) {
        return a && …
Run Code Online (Sandbox Code Playgroud)

javascript methods reduce

3
推荐指数
1
解决办法
2054
查看次数

标签 统计

javascript ×2

methods ×1

reduce ×1