JavaScript:我如何将数组forEach,map,filter等转换为' for'环?

时间:2018-01-28 14:34:53

标签: javascript typescript babeljs

我在有效的es5中编写了一个代码,但是一些旧的企业系统不能将它作为一个模块来使用,它只能依赖于array.forEach'。我现在不知道为什么,可能会从90年代或其他地方进行一些测试。

通过babel或打字稿来传播它是否可行?

// When this...
const a = ['abc', 'defghi'];
const b = a.filter(z => z.length > 3).forEach(z => console.log(z));

// ... becomes something like that
var a = ['abc', 'defghi'];
var b = [];
for (var i = 0; i < a.length; i++) {
    if (a[i].length > 3)  {
        b.push(a[i]);
    }
}

for (var i = 0; i < b.length; i++) {
    console.log(b[i]);
}

1 个答案:

答案 0 :(得分:0)

您可以使用Lodash,这是一个使用与您尝试使用的ES5非常相似的方法的库。你可以制作一些_.map([2,3,4], function(item) { console.log(item] })