当前位置:u赢电竞手机版 > u赢电竞竞猜app > 深入理解javascript中concat方法【u赢电竞竞猜app】

深入理解javascript中concat方法【u赢电竞竞猜app】

文章作者:u赢电竞竞猜app 上传时间:2019-06-26

最近在恶补js知识的时候,总是会因为js强大的语法而感到震撼。因为以前对前端方面的疏忽,导致了一些理解的错误。因此痛改前非,下定决心,不管做什么事情,都要有专研的精神。

在介绍前,抛出一个问题:如何将多个数组合并为一个数组?

在介绍前,抛出一个问题:如何将多个数组合并为一个数组?

以下的分享会分为如下小节:

以下的分享会分为如下小节:

1.concat方法的基础介绍

1.concat方法的基础介绍

2.从实例中感受concat方法

2.从实例中感受concat方法

1.concat方法的基础介绍

1.concat方法的基础介绍

  concat方法用于多个数组的合并。它将新数组的成员,添加到原数组的尾部,然后返回一个新数组,原数组不变。

concat方法用于多个数组的合并。它将新数组的成员,添加到原数组的尾部,然后返回一个新数组,原数组不变。

console.log([].concat([1],[2],[3])); // [1, 2, 3]
console.log([].concat([[1],[2],[3]])); // [[1], [2], [3]]
console.log([].concat(4,[[5,6],[7]])); // [4, [5, 6], [7]]
console.log([].concat([1],[2],[3])); // [1, 2, 3]
console.log([].concat([[1],[2],[3]])); // [[1], [2], [3]]
console.log([].concat(4,[[5,6],[7]])); // [4, [5, 6], [7]]

  上面代码中,第一个返回值是将一个空数组与三个数组[1],[2],[3]合并为一个数组,因此返回了[1, 2, 3]。第二个是将一个空数组与一个二维数组合并,二维数组的成员为[1],[2],[3],因此返回了[[1], [2], [3]],注意,返回的是二维数组。第三个例子同理。这里对概念的理解很重要,即将新数组的成员,添加到原数组的尾部。

上面代码中,第一个返回值是将一个空数组与三个数组[1],[2],[3]合并为一个数组,因此返回了[1, 2, 3]。第二个是将一个空数组与一个二维数组合并,二维数组的成员为[1],[2],[3],因此返回了[[1], [2], [3]],注意,返回的是二维数组。第三个例子同理。这里对概念的理解很重要,即将新数组的成员,添加到原数组的尾部

  除了接受数组作为参数,concat也可以接受其他类型的值作为参数。它们会作为新的元素,添加数组尾部。

除了接受数组作为参数,concat也可以接受其他类型的值作为参数。它们会作为新的元素,添加数组尾部。

console.log([].concat(1,2,3)); //[1,2,3];
//等同于
console.log([].concat(1,[2,3])); //[1,2,3];
console.log([].concat([1],[2,3])); //[1,2,3]; 
 console.log([].concat(1,2,3)); //[1,2,3];
 //等同于
 console.log([].concat(1,[2,3])); //[1,2,3];
 console.log([].concat([1],[2,3])); //[1,2,3];

  这里虽然内容较少,看起来挺简单。但是真正理解起来真的不容易。

这里虽然内容较少,看起来挺简单。但是真正理解起来真的不容易。

2.从实例中感受concat方法

2.从实例中感受concat方法

  说完基础的知识,给大家看看我最近遇到的一个题目。原题是这样的。

说完基础的知识,给大家看看我最近遇到的一个题目。原题是这样的。

u赢电竞竞猜app 1

u赢电竞竞猜app 2

  看例子就能明白是什么意思了。

看例子就能明白是什么意思了。

  这道题目中,其中一个解决方案就是:

这道题目中,其中一个解决方案就是:

var flatten = function (arr){
return [].concat.apply([],arr);
};
var flatten = function (arr){
 return [].concat.apply([],arr);
};

  这一段简单的函数就可以实现将数组中的元素合并的功能。但是当我在理解这个返回值的时候,出现了一个问题。

这一段简单的函数就可以实现将数组中的元素合并的功能。但是当我在理解这个返回值的时候,出现了一个问题。

  问题:为什么使用apply方法和没有使用apply方法会有区别?

问题:为什么使用apply方法和没有使用apply方法会有区别?

console.log([].concat.apply([],[[1],[2],[3]])); //[1, 2, 3]
console.log([].concat([[1],[2],[3]])); //[[1], [2], [3]]

本文由u赢电竞手机版发布于u赢电竞竞猜app,转载请注明出处:深入理解javascript中concat方法【u赢电竞竞猜app】

关键词: