功能样式中的分块对象(下划线/ Lodash)

时间:2015-07-31 16:39:01

标签: javascript functional-programming lodash

Lodash对数组有一个很好的chunk方法;是否存在对象(关联数组)的等价物?必要的解决方案非常简单,但我只是好奇是否有更清晰的功能实现?

势在必行的解决方案:
将对象作为输入
返回具有size个属性的对象数组

var chunk = function(input, size){
  var obj = {};
  var output = [];
  var counter = 0;
  for (var k in input) {
    if(!input.hasOwnProperty(k)){
      continue;
    }
    obj[k] = input[k];
    if (++counter % size === 0) {
      output.push(obj);
      obj = {};
    }
  }
  if (Object.keys(obj).length !== 0){
    output.push(obj);
  }
  return output;
};

1 个答案:

答案 0 :(得分:6)

validate(
  need(input$searchTerm != "", "Please, enter the correct search term")
)