Concat和apply在JavaScript中的应用
以下是我所看到的答案: 代码-Concat和apply在JavaScript中的应用,javascript,ecmascript-6,apply,Javascript,Ecmascript 6,Apply,以下是我所看到的答案: 代码- var result = [].concat.apply([], strs1.map(function(str1) { return strs2.map(function(str2) { return str1 + '-' + str2; }); })); 除了这里使用的apply之外,大多数事情我都很清楚。请让我知道此方法在这里做什么,以及应用方法的第一个[]参数 我已经看过了,但它看起来太复杂了。你读过了吗?你提供的MDN链接对它进行了足够详
var result = [].concat.apply([], strs1.map(function(str1) {
return strs2.map(function(str2) {
return str1 + '-' + str2;
});
}));
除了这里使用的apply
之外,大多数事情我都很清楚。请让我知道此方法在这里做什么,以及应用方法的第一个[]
参数
我已经看过了,但它看起来太复杂了。你读过了吗?你提供的MDN链接对它进行了足够详细的描述。任何函数都可以通过
call()
或apply()
调用。本例返回单个展平数组;如果它是[].concat(strs1.map…
,它将返回一个由其他三个数组组成的数组(每个strs1
值对应一个数组)。FWIW,在ES6中,您可以编写[].concat(…strs1.map(str1=>strs2.map(str2=>`${str1}-${str2}')代码>instead@FelixKlingThx我将通过第一个链接“但它看起来太复杂了”-你不明白具体解释的哪些部分?