我有这个简单的脚本:
var stdout = "A test.js\nD README.md\nD CONTRIBUTING.md\nM something.txt";
var out = $.grep( stdout.split("\n"), function (row) {
return (row.substring(0, 1) == "D");
});
它返回一个只包含以D
开头的行的数组,结果如下:
D README.md
D CONTRIBUTING.md
我需要获取一个以D
开头的行的数组,但我需要从行中删除D
,所以我需要这个结果:
README.md
CONTRIBUTING.md
如果我只使用$.map
,我无法找到办法在没有履行条件的情况下退货...
var out = stdout.split("\n").map(function (row) {
return (row.substring(0, 1) == "D") ? row.substring(1).trim() : null;
});
// returns: [null, 'README.md', 'CONTRIBUTING.md', null]
// I need: ['README.md', 'CONTRIBUTING.md']
我认为我应该混合使用$.map
和$.grep
,但这个简单的任务看起来代码太多了。
实现这一目标的最佳方法是什么?