您的位置:首页 > Web前端 > JavaScript

javaScript数组常用的的一些操作

2018-03-25 20:21 399 查看
(1) 数组的创建     两种方式     1.直接等于 []     var arr=[]; var arr1=[1,2,3];     2.new关键字声明  new Array();     var arr4=new Array(5); var arr5=new Array(5,8,6);(2) 数组的使用数字的长度 arr1.length;数组从小到大排序.sort()方法;注意: .sort()方法排序有弊端  按照 unicode码 去排列  先比较第一位 按照第一位的排序 第一位如果相等 则 排序第二位var arr = [23,12,1,34,116,8,18,37,56,50];  alert(arr.sort(); 返回:[1, 116, 12, 18, 23, 34, 37, 50, 56, 8];所以要自己定义一个sort方法必须自己定义一个函数 var arr = [23,12,1,34,116,8,18,37,56,50];  function sequence(a,b){    if (a>b) {      return 1;    }else if(a<b){      return -1    }else{      return 0;    }  }  console.log(arr.sort(sequence)); 返回:[1, 8, 12, 18, 23, 34, 37, 50, 56, 116] (没有问题)当然也可以把排序函数写到sort()方法里面:var arr = [23,12,1,34,116,8,18,37,56,50];  var arr2 = arr.sort(function(a,b){     if (a>b) {      return 1;    }else if(a<b){      return -1    }else{      return 0;    }    })  console.log(arr2);返回:[1, 8, 12, 18, 23, 34, 37, 50, 56, 116] (也没有问题)也可以简化成这样的写法因为:若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。若 a 等于 b,则返回 0。若 a 大于 b,则返回一个大于 0 的值var arr = [23,12,1,34,116,8,18,37,56,50];  function sequence(a,b){    return a - b;  }  console.log(arr.sort(sequence));返回:[1, 8, 12, 18, 23, 34, 37, 50, 56, 116] (也是正确的)     第一种遍历  利用for循环的i递变 取出每一个元素             for(var i=0;i<arr.length;i++){                 var str=arr[i];               console.log(str);             }     for  in  循环  专门遍历数组的     第二种遍历方式 for in  遍历数组 把数组的索引值放入我们自己声明的变量里面             for(var index in arr){                 console.log(index);//索引                 console.log(arr[index]);//数组的每项                 console.log("-------------------");             }数组常用的增删改查截取拼接等 1.向数组最后一位插入指定元素 
var arr = [1,2,3,4,5];
arr.push(6);
console.log(arr);//[1, 2, 3, 4, 5, 6]
2.向数组第一位插入指定元素  返回新的长度
var arr = [1,2,3,4,5];arr.unshift(6);console.log(arr);// [6, 1, 2, 3, 4, 5]
3.合并数组  不改变原数组
var arr=['张飞','关羽','刘备']var arr1= arr.concat('吕布');console.log(arr);// ["张飞", "关羽", "刘备"]console.log(arr1);//["张飞", "关羽", "刘备", "吕布"]
4.将数组转换成字符串
var str1= arr.join(); //什么也不加用逗号隔开console.log(str1);//张飞,关羽,刘备var str2= arr.join("");// 中间什么都没有直接拼接console.log(str2);//张飞关羽刘备var str3= arr.join("|");console.log(str3);//张飞|关羽|刘备
 5.从start开始到end结束,包含头不包含尾(截取)
var arr = [1,2,3,4,5];var newArr=arr.slice(1,3);console.log(newArr);//[2, 3]
6.从start开始 删除length个(截取)
var arr = [1,2,3,4,5];
var s=arr.splice(1,3);console.log(s);// [2, 3, 4]
7.删除最后一位元素 返回删除的元素
var arr = [1,2,3,4,5];console.log(arr.pop());//5console.log(arr);//[1, 2, 3, 4]
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: