我正在尝试使用异步,从零开始等待Babel 6,但我得到的再生器运行时没有定义.
.babelrc文件
{
"presets": [ "es2015", "stage-0" ]
}
Run Code Online (Sandbox Code Playgroud)
package.json文件
"devDependencies": {
"babel-core": "^6.0.20",
"babel-preset-es2015": "^6.0.15",
"babel-preset-stage-0": "^6.0.15"
}
Run Code Online (Sandbox Code Playgroud)
.js文件
"use strict";
async function foo() {
await bar();
}
function bar() { }
exports.default = foo;
Run Code Online (Sandbox Code Playgroud)
在没有async/await的情况下正常使用它可以正常工作.我有什么想法我做错了吗?
我正在尝试使用Javascript EC6中的新Map对象,因为它已经在最新的Firefox和Chrome版本中得到支持.
但我发现它在"功能"编程中非常有限,因为它缺乏经典的地图,过滤器等方法,可以很好地配合一[key, value]对.它有一个forEach但不返回回调结果.
如果我可以将它map.entries()从MapIterator转换为一个简单的数组,那么我可以使用标准.map,.filter没有额外的黑客攻击.
将Javascript迭代器转换为数组是否有"好"的方法?在python中它就像做一样简单list(iterator)...但是Array(m.entries())返回一个以Iterator为第一个元素的数组!
编辑
我忘了指定我正在寻找一个适用于地图工作的答案,这意味着至少Chrome和Firefox(Array.from在Chrome中不起作用).
PS.
如何在N个可变长度的JavaScript数组中生成所有值的组合?
假设我有N个JavaScript数组,例如
var first = ['a', 'b', 'c', 'd'];
var second = ['e'];
var third = ['f', 'g', 'h', 'i', 'j'];
Run Code Online (Sandbox Code Playgroud)
(在这个例子中有三个数组,但它有N个数组用于解决问题.)
我想输出它们的所有值的组合,以产生
aef
aeg
aeh
aei
aej
bef
beg
....
dej
Run Code Online (Sandbox Code Playgroud)
编辑:这是我工作的版本,使用ffriend接受的答案作为基础.
var allArrays = [['a', 'b'], ['c', 'z'], ['d', 'e', 'f']];
function allPossibleCases(arr) {
if (arr.length === 0) {
return [];
}
else if (arr.length ===1){
return arr[0];
}
else {
var result = [];
var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array
for (var …Run Code Online (Sandbox Code Playgroud) 我现在在freecodecamp上学习JavaScript,他们在其中一个练习中有一个嵌套for循环的例子:
var arr = [[1,2], [3,4], [5,6]];
for (var i=0; i < arr.length; i++) {
for (var j=0; j < arr[i].length; j++) {
console.log(arr[i][j]);
}
}
Run Code Online (Sandbox Code Playgroud)
使用console.log = 1 2 3 4 5 6 undefined.
我或多或少了解循环,我知道[i]和[j]用于访问数组(我想?).我只是不明白为什么最后它会打印出这些数字?几年前我发现这个问题,但它只是解释了如何编写它们,而不是它们是如何工作的:
我把它分解成:
var arr = [ [1,2], [3,4], [5,6]];for (var i=0; i < arr.length; i++) {
console.log(arr[i]);}
Run Code Online (Sandbox Code Playgroud)
打印出来的
[ 1, 2 ]
[ 3, 4 ]
[ 5, 6 ]
undefined
Run Code Online (Sandbox Code Playgroud)
和
var arr = [ [1,2], [3,4], [5,6]];
for (var i=0; i < …Run Code Online (Sandbox Code Playgroud) 我一直在尝试在JavaScript中迭代多维数组,并打印数组中的每个元素.有没有办法在不使用嵌套for循环的情况下在多维数组中打印每个元素?
var arr = [[1, 5],[7, 4]];
for(var i in arr){
alert(i); //this displays "0", then displays "1",
//instead of printing each element in the array
//how can I make it print each element in each 2D array instead,
//without using nested for-loops for each dimension of the array?
}
Run Code Online (Sandbox Code Playgroud)