数组方法

时间:2021-03-08 13:30:34   收藏:0   阅读:0

创建一个数组;

var arr = new Array();
var arry = [11,12,13,14,15];

 

arry[8] = 199;
console.log(arry.length); // 9
console.log(arry); // 11,12,13,14,15,,,,199
arry.length = 3;
console.log(arry); // 11,12,13

 

数组方法:(可复制到编辑器验证)

//1.push() 向数组末尾添加一个或多个元素,返回新数组长度
var arry = [11,12,13,14,15];
var result = arry.push(16,17);
console.log(arry); // 11,12,13,14,15,16,17
console.log(result); //7

//2.pop() 向数组末尾删除一个元素 返回被删那个元素
var arry = [11,12,13,14,15];
var result = arry.pop();
console.log(arry); // 11,12,13,14
console.log(result); //15

//3.unshift() 向数组开头添加一个或多个元素,返回新的长度
var arry = [11,12,13,14,15];
var result = arry.unshift(9,10);
console.log(arry); // 9,10,11,12,13,14,15
console.log(result); //7

//4.shift() 向数组开头删除一个元素,返回删除那个元素
var arry = [11,12,13,14,15];
var result = arry.shift();
console.log(arry); // 12,13,14,15
console.log(result); // 11

//5.slice() 从数组中提取指定元素,不影响原数组,返回截取的元素
// 第一个参数:开始截取位置的索引,包含此位置元素,第二个参数:结束截取位置的索引,不包含此位置元素
var arry = [11,12,13,14,15];
var result = arry.slice(1,3);
console.log(arry); // 11,12,13,14,15
console.log(result); // 12,13
//只写一个值,则从索引为2位置(包含)一直截取到结束
var result = arry.slice(2);
console.log(result); // 13,14,15

//6.splice() 向数组添加元素或者删除元素,影响原数组,返回被删除的元素
//第一个参数,开始删除位置的索引,从此位置删(包含),第二个参数,是删除的数量
//第三个参数,传新的元素,插入到开始索引前边
var arry = [11,12,13,14,15];
var result = arry.splice(1,3,"test1","test2");
console.log(arry); // 11,test1,test2,15
console.log(result); //12,13,14

//7.concat() 连接两个或多个数组,不影响原数组,并返回新数组
var arry1 = [11,12,13,14,15];
var arry2 = ["test1","test2","test3"];
var result = arry1.concat(arry2);
console.log(arry1); // 11,12,13,14,15
console.log(result); // 11,12,13,14,15,test1,test2,test3

//8.join() 将数组转换成字符串,不会影响原数组,返回转换后的字符串
//join里加参数,会用加的参数作为连接符,若不写,默认用逗号(,)连接
//若不想用的话,传一个空串
var arry = [11,12,13,14,15];
var result = arry.join();
console.log(arry); //11,12,13,14,15
console.log(result); // 11,12,13,14,15
console.log(typeof result); //string
var result1 = arry.join("@");
console.log(result1); // 11@12@13@14@15
var result2 = arry.join("");
console.log(result2); // 1112131415

//9.reverse() 将数组反转(前边到后边,后边到前边),会影响原数组
var arry = [11,12,13,14,15];
arry.reverse();
console.log(arry); // 15,14,13,12,11

//10.sort() 将数组进行排序,会影响原数组
var arry = ["a","d","f","b","c"];
arry.sort();
console.log(arry); // a,b,c,d,f
//默认按照Unicode编码进行排序
var arry1 = [5,3,6,2,11,4];
arry1.sort();
console.log(arry1); // 11,2,3,4,5,6
//使用下面方法可以升降序正常排序
arry1.sort(function(a,b){
return a - b;
})
console.log(arry1); // 2,3,4,5,6,11

 

//数组遍历
var arry = [11,12,13,14,15];
for(var i=0; i<arry.length; i++){
console.log(arry[i]);
}

//forEach方法遍历数据(ie8以下不支持),回调函数第一参数,是数组元素,第二个参数,是数组索引
arry.forEach(function(value,index,obj){ //function称为回调函数,浏览器自己调用的
//console.log("hello");
//console.log(value);
//console.log(index)
})

//数组去重 indeof 与splice 

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!