数组方法(es3)

1.栈方法(后进先出)

push(): 接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度;

pop(): 默认从数组末尾移除最后一个元素,减少数组的 length 值,然后返回移除的元素

 

2.队列方法(先进先出)

队列在数组的末端添加元素,从数组的前端移除元素

push(): 同栈方法中的push()

shift(): 方法从数组前端移除一个元素, 然后返回移除的元素

unshift(): 方法从数组前端添加一个或多个元素,返回修改后数组的长度

 

3.排序方法

reverse(): 逆向排序,就是改变数组的首尾,返回的是数组

返回的数组就是改变后的数组,是同一个东西

//直接使用,不用带参数
var arr = [23571];
console.log(arr.reverse()); //1,7,5,3,2
console.log(arr); //1,7,5,3,2
复制代码
//用自定义函数实现逆向排序
function reverseTemp(arr)
{
    for(var i = 0; i < arr.length / 2; i++)
    {
        var t = arr[i];
        arr[i] = arr[arr.length-1-i];
        arr[arr.length-1-i] = t;
    }
}
复制代码

 

sort(): 将数组变成从小到大排序(默认根据ASCII码,先比第一个字符相同则比第二个),返回的是数组

返回的数组就是改变后的数组,是同一个东西

sort() 是一个高阶函数,用函数做为参数

复制代码
//如果想要sort()给number类型数组排序是按照数字大小排序,可以使用sort()内的function
var arr = [11,3,7,10,9];
arr.sort(fucntion(a,b)
{
    return a-b;
    //return a-b(1),则是按照从小到大排序
    //return b-a(-1),则是按照从大到小排序
})
consloe.log(arr); //3,7,9,10,11
复制代码

 

4.其他不影响原数组的方法

concat(): 添加数据,但是是创建一个新数组,不改变原数组;参数可以为数组

//concat()函数使用
var arr23 = ['你好','世界'];
var arr33 = [1,2,3,4];
var arr24 = arr23.concat('小喻');
var arr34 = arr23.concat(arr24,arr33);
console.log(arr23); //['你好', '世界']
console.log(arr24); //['你好', '世界', '小喻']
console.log(arr34); //['你好', '世界', '你好', '世界', '小喻', 1, 2, 3, 4]

 

slice(): 将数组中的制定区域数据提取到一个新的数组,不会改变原数组

//slice()函数使用
var arr25 = [3,5,1,4];
var arr35 = arr25.slice();//提取全部数组元素1
var arr26 = arr25.slice(2,4); //提取下标为2,3的,不包含4
console.log(arr25); //3,5,1,4
console.log(arr26); //1,4

 

join(): 连接数组中的元素,并返回连接后的字符串,传的参数为连接的方式

复制代码
//join()函数使用
var arr28 = ['hello',541];
var s = arr28.join(''); //直接连接
console.log(s);         // hello541
console.log(arr28);     //['hello',541]
var t = arr28.join('+');//用+号连接
console.log(t);         //hello+541
var r = arr28.join();   //默认用逗号连接
console.log(r);         //hello,541
复制代码

 

indexOf(): 查找数据在数组中的索引位置,传的参数就是要查询的数据,还可以传开始查询的位置索引(下标);

    返回值分两种:查询到该数据,返回该第一次出现的索引位置;没有该数据,返回-1

var n = [7, 7, 8, 4, 2, 1];
var res = n.indexOf(8,3);  //在数组n内查找数字8,从下标为3的数据(4)开始找,找不到
var ult = n.indexOf(2);  //在数组n内查找数字2,默认遍历整个数组n
console.log(res); //返回-1
console.log(ult); //返回下标:4

 

5.其他影响原数组的方法

splice(): 截取原数组中指定的数据,会改变原数组,并且返回的是一个数组;

//splice()函数使用: 插入,替换,删除
var arr27 = [2,3,4,1,77];
console.log(arr27.splice(1,1)); //[3] 返回的是删掉的元素组成的数组
console.log(arr27.splice(2,0,'yule')); // [] 在下标为2的位置插入元素,返回一个空数组
console.log(arr27); //2,4,'yule',1,77
console.log(arr27.splice(2,2,'xiao','ha')); //['yule',1]替换掉以下标为2开始的两个元素,返回的是被替换掉的元素组成的数组
console.log(arr27); //2,4,'xiao','ha',77

 

posted @   啊呀阿鱼呀  阅读(230)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示