欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js对数组的增、删、改、查

程序员文章站 2022-03-22 19:15:08
...

删除数组的最后一个元素 - pop()

var arr1=[1,2,3,4,5,6];
var arr2=arr1.pop();  //6  返回删除的元素
arr1   //1,2,3,4,5
arr2   //6

shift() - 删除并返回数组的第一个元素

var arr1=[1,2,3,4,5,6];
var arr2=arr1.shift();  //返回删除的元素
arr1   //2,3,4,5,6
arr2   //1

unshift() - 将参数添加到原数组开头,并返回数组的长度

var arr1=[1,2,3,4,5,6];
var arr2=arr1.unshift(-2,-1);   //返回数组的长度
arr1   //-2,-1,1,2,3,4,5,6
arr2   //  8

push() - 将参数添加到原数组末尾,并返回数组的长度

var arr1=[1,2,3,4,5,6];
var arr2=arr1.push(7,8);   //返回数组的长度
arr1   //1,2,3,4,5,6,7,8
arr2   //  8

replace() - 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

var str="Hello world";
str.replace('world','tang');   //   "Hello tang"
str.replace(/world/i,'feng');   //  "Hello feng"
第一个参数可以用正则表示

splice() - 方法向/从数组中添加/删除项目,然后返回被删除的项目 --该方法会改变原始数组

splice(index,howmany,item1, ..., itemX)
index--开始位置
howmany--要删除的项目数量
item1, ..., itemX -- 可选。向数组添加的新项目
var arr1=[1,2,3,4,5,6];
var arr2=arr1.splice(2,2,7,8,9);
arr1    //1,2, 7,8,9, 5,6
arr2    //3,4

reverse() - 将数组反序

var arr1=[1,2,3,4,5,6];
var arr2=arr1.reverse();
arr1    //6,5,4,3,2,1
arr2    //6,5,4,3,2,1

sort() - 排序

var arr1=[6,9,4,2,8,4,6,1];
var compare = function(a,b) {
  return b-a //总结成了公式   a-b
}
arr1.sort(compare)//[9,8,6,6,4,4,2,1]

slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组

var arr1=[1,2,3,4,5,6];
var arr2=arr1.slice(2,5);
arr1    //1,2,3,4,5,6
arr2    //3,4,5

join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符

var arr1=[1,2,3,4,5,6];
var arr2=arr1.join('|')
arr1   //1,2,3,4,5,6  
arr2   //"1|2|3|4|5|6"    转化为字符串了

Array.prototype.find() 用于找出第一个符合条件的数组成员(回调函数)

[1, 4, -5, 10].find((n) => n < 0) // -5

只返回一个数组成员


Array.prototype.fill() fill 方法使用给定值,填充一个数组。

['a', 'b', 'c'].fill(7) // [7, 7, 7]
new Array(3).fill(7) // [7, 7, 7]
fill方法用于空数组的初始化非常方便。数组中已有的元素,会被全部抹去。
fill方法还可以接受第二个和第三个参数,用于指定填充的起始位置和结束位置
['a', 'b', 'c'].fill(7, 1, 2) // ['a', 7, 'c']

split() 分割符

var a='asfasfasf'
undefined
a.split(/[s]/i)
(4) ["a", "fa", "fa", "f"]

reduce()

prev   初始值或者计算结束后的返回值  
curr     当前元素
[1,2,3].reduce(function(prev,curr){ return prev+curr})    //6
var max = arr.reduce((x,y)=>(x>y?x:y))  // 55  得到数组中的最大值

取数组最后5个值js

var a=[1,2,3,5,7,9,10,11,19];   // 怎么拿到数组里7,9,10,11,19
a.slice(-5);