【JavaScript】Array()的用法

243 阅读2分钟

Array对象

ES6新增对象,用于在单个变量中存储多个值。在这里总结一些目前会用到的一些常见用法。

// 属性
constructor:返回创建Array对象原型的函数
length:设置或返回数组中元素的数量
prototype:允许你呢向数组添加属性和方法

用法

1.fill()

方法用静态值填充数组中的指定元素。

您可以指定开始和结束填充的位置。如果未指定,则将填充所有元素。

注释:fill() 会覆盖原始数组。

array.fill(value, start, end)

// 实例
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.fill("Kiwi", 2, 4);

2.from()

为字符串创建数组

var myArr = Array.from("ABCDEFG");

3.concat()

连接两个或多个字符串 concat(str1, str2, ... ,str3),不会更改现有数组,而是返回一个新数组,其中包含已连接数组的值

var sedan = ["S60", "S90"];
var SUV = ["XC40", "XC60", "XC90"];
var wagon = ["V60", "V90", "V90CC"];
var Volvo = sedan.concat(SUV, wagon);

4.sort()

sort() 方法对数组的项目进行排序。

排序顺序可以是按字母或数字,也可以是升序(向上)或降序(向下)。

默认情况下,sort() 方法将按字母和升序将值作为字符串进行排序。

这适用于字符串("Apple" 出现在 "Banana" 之前)。但是,如果数字按字符串排序,则 "25" 大于 "100" ,因为 "2" 大于 "1"。

正因为如此,sort() 方法在对数字进行排序时会产生不正确的结果。

您可以通过提供“比较函数”来解决此问题(请参阅下面的“参数值”)。

注释:sort() 方法会改变原始数组。

// 1.升序
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});

// 2.降序
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});

5.shift()

删除数组的第一个元素,并返回该元素。

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift();   // 返回 "Banana"

isArray()

检查对象是否为数组.方法确定对象是否为数组。 如果对象是数组,则此函数返回 true,否则返回 false

reverse()

翻转数组元素的顺序(会改变原始数组)

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();

redcuce()

从头开始减去数组中的数字。 reduce()方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

reduce() 可以作为一个高阶函数,用于函数的 compose。

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
return arr.reduce((result, item) => { // result:初始值,或者计算结束后返回值,item:当前元素
    return result.concat(Array.isArray(item) ? _flatten(item) : item) 
}, []) // [] 传递给函数的初始值