相关疑难解决方法(0)

未定义Babel 6 regeneratorRuntime

我正在尝试使用异步,从零开始等待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 node.js babeljs

569
推荐指数
29
解决办法
41万
查看次数

将Javascript迭代器转换为数组

我正在尝试使用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.

我知道有很棒的wu.js,但它对traceur的依赖让我失望......

javascript ecmascript-6

147
推荐指数
5
解决办法
6万
查看次数

查找JavaScript数组值的所有组合

如何在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)

javascript algorithm

57
推荐指数
8
解决办法
5万
查看次数

了解javascript中的嵌套for循环

我现在在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]用于访问数组(我想?).我只是不明白为什么最后它会打印出这些数字?几年前我发现这个问题,但它只是解释了如何编写它们,而不是它们是如何工作的:

对于多维javascript数组中的循环

我把它分解成:

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-loop

12
推荐指数
2
解决办法
4万
查看次数

在不使用嵌套for循环的情况下迭代JavaScript数组

我一直在尝试在JavaScript中迭代多维数组,并打印数组中的每个元素.有没有办法在不使用嵌套for循环的情况下在多维数组中打印每个元素?

http://jsfiddle.net/mKsDW/

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)

javascript arrays

3
推荐指数
2
解决办法
1万
查看次数