小编Tec*_*ner的帖子

展平javascript多维嵌套数组

我试图压扁阵列,但我遇到了困难.

我的代码:

    var arr = [["2"],["3", "4"], "5", [["6"], ["7"]] ];
    
    var res = [].concat.apply([], arr);
    
    //Using reduce(ES5)

   function test(args){
     var sum = args.reduce(function(acc, val){
       acc.concat(Array.isArray(val)? test(val): val);
     });
    }

    //Regular implementation
    function test2(arr){
      var result = [];
      arr.forEach(function(val){
        if(Array.isArray(val)){
          result = [].concat.apply([], val);
        } else {
          result.concat(val);
        }
      });
      return result;
    }
    
    console.log(test(arr));
    console.log(test2(arr));
Run Code Online (Sandbox Code Playgroud)

预期产出:

["2", "3", "4","5", "6", "7"]
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我哪里出错了吗?

javascript

1
推荐指数
1
解决办法
121
查看次数

理解 !打字稿中的运算符

我对打字稿很陌生,我正在努力学习这门语言。

我正在阅读一个组件,我看到了这个:

interface FilterRowProps {
  cannotRemove: boolean
  filterName?: string
}

const field = getField(demo.fields)(filterName!)
Run Code Online (Sandbox Code Playgroud)

问题:

  • 这让我想到,!打字稿中的含义是什么?

  • 如果它没有被传递(可选参数?)它会抛出错误还是不做任何事情会发生什么?

  • 将参数设为可选并!在组件内部使用是否有意义?

既然filterNameprops 是可选的,那filterName!意味着什么?

有人可以解释一下吗?超级糊涂。

typescript reactjs react-typescript

1
推荐指数
1
解决办法
43
查看次数

解构 JavaScript 返回错误

我有一个函数,我试图从选项中解构几个参数

  fetchArtifactsWithFiltersOG = async options => {
   
    const { nextPage, fromSearch } = options;

  }
Run Code Online (Sandbox Code Playgroud)

问题:

但是,在某些用例中options are not passed,在这种情况下它会抛出nextPage of undefined error.

在这种情况下我如何解构我不确定选项是否只是有时被传递。没有使我的语法 ES5。

javascript destructuring ecmascript-6

0
推荐指数
1
解决办法
68
查看次数

使用ES6类的nodejs modules.exports

我只是在学习来自ES5功能的ES6。

某些事情确实让我感到困惑:

我们有出口,例如,

function B(){
// Some definition
}

exports.modules = B();
Run Code Online (Sandbox Code Playgroud)

如果我们使用基于类的语法,那是否意味着我们根本不需要导出?(如果不是,我们该怎么写?)您实际上何时需要使用导出?(与使用“ new”关键字调用构造函数相反)。有什么不同?

个人想法:

ES6感觉就像我正在用javascript编写Java代码:-\我喜欢函数式编程,但看起来ES6是必经之路(我的一部分讨厌新语法,但另一半却想尝试一下。。有人在这里吗? )

请赐教。

javascript node.js ecmascript-6

-4
推荐指数
1
解决办法
566
查看次数