数组的常用方法

本文详细介绍了JavaScript中数组常用的操作方法,包括push、unshift、pop、shift、splice、concat、sort、reverse、includes、indexOf、join和slice等,通过实例演示了它们的用法和对原数组的影响,帮助读者深入理解并掌握这些方法。
摘要由CSDN通过智能技术生成

在此归纳总结了一些数组的常用方法

1、push() 在数组的尾部新增一个或多个元素 // 返回值: 新增元素后数组的长度 // 是否影响原数组: 影响

 var arr = [1, 2, 3];    
 var result = arr.push("a");  
 var result = arr.push("a", "b", "c");   
 console.log(result); // 4   
 console.log(arr);

2、unshift() 在数组的头部新增一个或多个元素 // 返回值: 新增元素后数组的长度 // 是否影响原数组: 影响

var arr = [1, 2, 3];   
var result = arr.unshift("a"); // 4 =>  ["a",1,2,3]    
var result = arr.unshift("a", "b", "c"); //  6 => ['a', 'b', 'c', 1, 2, 3]    
 console.log(result); 

 console.log(arr);  

3、pop() 在数组的尾部删除一个元素 // 返回值:被删除的元素 // 是否影响原数组: 影响

 var arr = [1, 2, 3, 4, 5, 6];   
 var result = arr.pop();   
 console.log(result);    
 console.log(arr);

4、shift() 在数组的头部删除一个元素 // 返回值:被删除的元素 // 是否影响原数组: 影响

var arr = [1, 2, 3, 4, 5, 6];    
var result = arr.shift();    
console.log(result);    
console.log(arr);

5、 splice() 数组任意位置的增删改 // splice(startIndex,n) 删除 => 自下标为startIndex(起始下标)开始,删除n个元素 // 返回值:被删除的元素形成的数组(新) // 是否影响原数组: 影响

var arr = [1, 2, 3, 4, 5, 6];    
var result = arr.splice(2, 2);    
console.log(result);    
console.log(arr);

6、splice(startIndex,0,arg1,arg2...argN) 新增 => 自下标为startIndex(起始下标)开始,删除0个元素,再新增一个或多个元素(从第三参数开始,都是新增的元素) // 返回值:被删除的元素形成的数组(新增 => 删除0个 => []) // 是否影响原数组: 影响

var arr = [1, 2, 3, 4, 5, 6];    
var result = arr.splice(2, 0, "a", "b", "c");    
console.log(result);    
console.log(arr);

7、splice(startIndex,n,arg1,arg2...argN) 新增 => 自下标为startIndex(起始下标)开始,删除n个元素,再新增一个或多个元素(从第三参数开始,都是新增的元素) // 返回值:被删除的元素形成的数组 // 是否影响原数组: 影响

var arr = [1, 2, 3, 4, 5, 6];    
var result = arr.splice(2, 2, "a", "b");    
console.log(result);    
console.log(arr);

8、reverse() 数组反转/翻转 // 返回值: 翻转后的原数组 // 是否影响原数组: 影响

var arr = [1, 2, 3, 4, 5, 6];    
var result = arr.reverse();    
console.log(result);    
console.log(arr);

9、includes() 判断数组中是否存在某个元素 // 返回值: 存在 => true 不存在 => false // 是否影响原数组: 不影响

var arr = [1, 2, 3, 4, 5, 6, 7];    
var result = arr.includes(5);    
console.log(result);    
var result = arr.includes("1");    
console.log(result);

10、indexOf() 返回某个元素,在数组中第一次出现的位置 // 返回值: 存在 => 返回下标(index >= 0) 不存在 => -1 // 是否影响原数组: 不影响 // 注意:此方法也可判断数组中是否存在某个元素 => 存在 => 返回下标(index >= 0) 不存在 => -1

var arr = [1, 2, 5, 3, 4, 5, 6, 7];    
var result = arr.indexOf(5);    
console.log(result);    
var result = arr.indexOf("1");   
console.log(result);

11、join(char) 用特定字符将数组拼接形成字符串 (char默认为",") // 返回值: 字符串 // 是否影响原数组: 不影响

var arr = ["a", "b", "c", "d"];    
var result = arr.join("-");    
var result = arr.join("+");    
var result = arr.join("/");    
var result = arr.join("");    
var result = arr.join();    
console.log(result);

12、concat() 数组合并/拼接 => 将多个数组或元素合并为一个新数组 // 如果合并的是数组,则将数组中的每个元素放到新数组中 // 如果合并的是非数组,直接放到新数组中 // 返回值: 数组合并后的新数组 // 是否影响原数组 不影响

var arr = [1, 2, 3];    
var brr = [4, 5, 6];   
var crr = [7, 8, 9];    // 创建新数组 []  将 arr brr crr中的每个元素放到新数组中    
var result = arr.concat(brr, crr);    
var result = arr.concat("hello", brr, "world", crr);   
console.log(result);   
console.log(arr, brr, crr);

13、sort() 数组排序 // 1. 字符排序 比较字符对应的unicode码(包含ASCII), 第一个不相同就比第一个,第一个相同就比第二个 // 2. 纯数字排序 返回值: 排序后的原数组 // 是否影响原数组 : 影响 // ASCII(0-127) -> GB2312 GBK -> Unicode -> utf-8

//字符排序   
var list = [86, 58, 61, "哈", 43, 92, "hello", 71, "world", 5, "嘿", 8, 9, 6, 3, 2];     var result = list.sort();   
console.log(result);   
console.log(list);
//sort纯数字排序	sort方法传入一个函数作为实际参数(定义如何排序),该函数在sort内部执行    
// 传入的函数定义如何排序?     
// 函数有两个形参 表示参与比较的前后两个元素,根据函数返回的结果来定义排序的方式    
var list = [86, 58, 61, 43, 92, 71, 5, 8, 9, 6, 3, 2];    
list.sort(function (a, b) {// a b 参与比较的前后两个元素        
// console.log(a, b);        
// return a - b;   // a - b > 0 => a > b 时交换位置 大值放后面  从小到大排       
// return b - a;   // b - a > 0 => a < b 时交换位置 小值放后面  从大到小排        
//小结论 如果返回值>0将交换位置    });    
console.log(list);

14、instanceof 判断某个数据 是否是由 某个构造函数创建的 (有问题,不是很准确->后续补充)

console.log(arr instanceof Array);   
console.log(obj instanceof Object);

15、slice(i,j) 截取数组,从i开始,到j结束,包含i不包含j,返回新的数组 // j可以超出数组的长度(截取完为止) // i和j都不写,表示截取数组中所有的值

var arr2 = arr.slice(-3,60) ;   // i为负数时,倒着数
console.log(arr2);
var arr2 = arr.slice() ;   // 截取数组中所有的值
console.log(arr2);

以上方法没有写出结果,需要观者自己通过代码测试,加深使用印象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值