我试图在lodash中找到一种方法来做到这一点:

var start = 0;
while (rows[start].substring(0, 1) === "#") {
  start++;
}


实际的代码会跳过所有顶行,直到在开始处找不到#。我希望有一种更好的lodash方法,我可以做类似的事情

var start = _.someMethod(function (str) {
  return str.substring(0, 1) === "#"
})


因此,基本上是一种lodash方法,用于查找与某些查询不匹配的第一个索引。是否存在?

最佳答案

有一个恰当的名称_.findIndex()



var rows = [ "#zero", "#one", "#two", "three", "#four" ];

var index = _.findIndex( rows, function (str) {
  return str.charAt(0) !== "#";
});

console.log( index );  // 3

<script src="https://cdn.jsdelivr.net/lodash/4.12.0/lodash.min.js"></script>

10-06 04:45
查看更多