300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 如何在JavaScript中更好地使用数组 – PHP基础 – 前端 php gd圆角剪裁

如何在JavaScript中更好地使用数组 – PHP基础 – 前端 php gd圆角剪裁

时间:2021-06-29 08:18:46

相关推荐

如何在JavaScript中更好地使用数组 – PHP基础 – 前端 php gd圆角剪裁

javascript中会改变原数组的方法

1. push() 方法在数组的尾部添加一个或多个元素,并返回数组的长度

2. pop() 方法删除数组的最后一个元素,减小数组长度并返回它删除的值。

参数:无

//组合使用push()和pop()能够用JavaScript数组实现先进后出的栈

3. unshift() 方法在数组的头部添加一个或多个元素,并将已存在的元素移动到更高索引的位置来获得足够的空间,最后返回数组新的长度。

参数: item1, item2, …, itemX ,要添加到数组开头的元素

4. shift() 方法删除数组的第一个元素并将其返回,然后把所有随后的元素下移一个位置来填补数组头部的空缺,返回值是删除的元素

参数: 无。

5. splice() 方法是在数组中插入或删除元素的通用方法

语法 array.splice(start[, deleteCount[, item1[, item2[, …]]]])

参数:

start

指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从-1计数);若只使用start参数而不使用deleteCount、item,如:array.splice(start) ,表示删除[start,end]的元素。

deleteCount (可选)

整数,表示要移除的数组元素的个数。如果 deleteCount 是 0,则不移除元素。这种情况下,至少应添加一个新元素。如果 deleteCount 大于start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位)。 如果deleteCount被省略,则其相当于(arr.length – start)。

item1, item2, … (可选)

要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。

返回值: 由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。

// start不超过数组长度(以下操作是连续的)

6. sort() 方法将数组中的元素排序并返回排序后的数组

参数:

compareFunction (可选) 用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的各个字符的Unicode位点进行排序。 如果指明了 compareFunction ,那么数组会按照调用该函数的返回值排序。即 a 和 b 是两个将要被比较的元素:

* 如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列到 b 之前;

* 如果 compareFunction(a, b) 等于 0 , a 和 b 的相对位置不变。备注: ECMAScript 标准并不保证这一行为,而且也不是所有浏览器都会遵守(例如 Mozilla 在 年之前的版本);

* 如果 compareFunction(a, b) 大于 0 , b 会被排列到 a 之前。

* compareFunction(a, b) 必须总是对相同的输入返回相同的比较结果,否则排序的结果将是不确定的。

返回值: 返回排序后的数组。原数组已经被排序后的数组代替。

7. reverse() 方法将数组中的元素颠倒顺序,返回逆序的数组。

参数: 无

let arr = [1,2,3];

arr.reverse() // arr是[3,2,1],返回值是[3,2,1]

返回值: 返回顺序颠倒后的数组。原数组已经被排序后的数组代替。

8. copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,而不修改其大小。 (ES6新增)

语法: arr.copyWithin(target[, start[, end]])

参数:

target

0 为基底的索引,复制序列到该位置。如果是负数,target 将从末尾开始计算。

如果 target 大于等于 arr.length,将会不发生拷贝。如果 target 在 start 之后,复制的序列将被修改以符合 arr.length。

start

0 为基底的索引,开始复制元素的起始位置。如果是负数,start 将从末尾开始计算。

如果 start 被忽略,copyWithin 将会从0开始复制。

end

0 为基底的索引,开始复制元素的结束位置。copyWithin 将会拷贝到该位置,但不包括 end 这个位置的元素。如果是负数, end 将从末尾开始计算。

如果 end 被忽略,copyWithin 将会复制到 arr.length。

返回值: 改变了的数组。

// copyWithin 函数是设计为通用的,其不要求其 this 值必须是一个数组对象。

[].copyWithin.call({length: 5, 3: 1}, 0, 3);

// {0: 1, 3: 1, length: 5}

9. fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。 (ES6新增)

语法: arr.fill(value[, start[, end]])

参数:

value 用来填充数组元素的值。

start (可选) 起始索引,默认值为0。

end (可选) 终止索引,默认值为 this.length。

如果 start 是个负数, 则开始索引会被自动计算成为 length+start, 其中 length 是 this 对象的 length 属性值. 如果 end 是个负数, 则结束索引会被自动计算成为 length+end。

返回值: 修改后的数组

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。