如何才能简化节点脚本
该代码是:
const _ = require('lodash');
const output = [];
let i = 0;
const inputString = "/h1/h2/h3/h4";
_.forEach(inputString.split('/').filter(e => e), (f, key, res) => {
if (i < res.length - 1 ) {
output.push(`/${_.slice(res, 0, i += 1).join('/')}`);
}
});
console.log(output);
的期望输出是阵列并跳过最后一个:[ '/ H1', '/ H1 / H2', '/ H1 / H2 / H3']
我怎么能简化呢?非常感谢 !
回答如下:一种选择是将字符串split
到h
s,切掉在第一位置的空字符串,并pop()
最后。然后,通过.map
ing indicies join
所得阵列0为0,则0至1,然后0至2,等:
const inputString = "/h1/h2/h3/h4";
const items = inputString.split('/').slice(1); // slice to remove empty string at [0]
items.pop(); // remove last item (h4)
const output = items.map((_, i) => '/' + items.slice(0, i + 1).join('/'));
console.log(output);
如何才能简化节点脚本
该代码是:
const _ = require('lodash');
const output = [];
let i = 0;
const inputString = "/h1/h2/h3/h4";
_.forEach(inputString.split('/').filter(e => e), (f, key, res) => {
if (i < res.length - 1 ) {
output.push(`/${_.slice(res, 0, i += 1).join('/')}`);
}
});
console.log(output);
的期望输出是阵列并跳过最后一个:[ '/ H1', '/ H1 / H2', '/ H1 / H2 / H3']
我怎么能简化呢?非常感谢 !
回答如下:一种选择是将字符串split
到h
s,切掉在第一位置的空字符串,并pop()
最后。然后,通过.map
ing indicies join
所得阵列0为0,则0至1,然后0至2,等:
const inputString = "/h1/h2/h3/h4";
const items = inputString.split('/').slice(1); // slice to remove empty string at [0]
items.pop(); // remove last item (h4)
const output = items.map((_, i) => '/' + items.slice(0, i + 1).join('/'));
console.log(output);