javascript学习day10——Array对象
Array的方法
一、判断变量是不是数组
1 var obj = []; 2 //法一 3 console.log(obj instanceof Array); 4 //法二 5 console.log(Array.isArray(obj));
二、克隆数组
1 var arr1 = ["a","b","c"]; 2 //将arr1复制到arr2里 3 var arr2 = Array.from(arr1); 4 console.log(arr2);
三、合并两个或多个数组
1 var arr1 = ["a","b","c"]; 2 var arr3 = ["d","e","f"]; 3 console.log(arr1.concat(arr2,arr3));
四、检测数组里的每一个元素是否都通过了测试
var arr4 = [1,2,3,4,5]; // 元素的值:a // 索引的值:b // 谁调用了这个方法:c var temp = arr4.every(function(a,b,c){ return a>10;//false //数组中的每个元素的值都大于10,则返回true,否则为false }); //应用:可以去判断工资啊价格啊什么的 var arr5 = ["意思时123","黄金开采","东方不败","大话西游之降妖伏魔"]; var temp2 = arr5.every(function(a){//可以省略不用用到的参数 return a.length>4; //判断数组里每个元素的长度是否都大于4 }); console.log(temp2);//false
五、创建一个包含所有通过提供的函数检测的元素的数组
比如把arr5中所有满足长度大于4的元素包含到一个新的数组里
1 var newArr = arr4.filter(function(ele1){ 2 return ele1 >3; 3 }); 4 console.log(newArr);//[4, 5] 5 6 var newarr = arr5.filter(function(ele){ 7 return ele.length>4; 8 }); 9 console.log(newarr);//["意思时123", "大话西游之降妖伏魔"]
六、
push(), pop(), shifft(), unshift(), forEach(), indexOf(), join(), map(), reverse()
var arr4 = [1,2,3,4,5]; var dele = arr4.pop();//[1,2,3,4] dele =5 var arr4 = [1,2,3,4,5]; arr4.push(900);//[1,2,3,4,5,900] var arr4 = [1,2,3,4,5]; dele = arr4.shift();//[2,3,4,5] dele = 1 var arr4 = [1,2,3,4,5]; arr4.unshift(90);//[90,1,2,3,4,5]
var b = [55,66,77,88,99]; b.forEach(function(ele,index){ console.log(index+"---"+ele); }); /* *0---55 1---66 2---77 3---88 4---99 */ var m = b.indexOf(66); console.log(m);//1 var str = b.join("|"); console.log(str);//55|66|77|88|99
1 var num = [4,64,9,25,16]; 2 //对num里面的每一个数进行开方运算 3 var roots = num.map(Math.sqrt); 4 console.log(roots);// [2, 8, 3, 5, 4] 5 console.log(num.reverse());//[16, 25, 9, 64, 4] 6 7 num.sort();//sort方法可能会不稳定 8 //自己定义一个比较函数,将num里的数从小到大进行排序 9 num.sort(function(a,b){ 10 if(a>b){ 11 return 1; 12 } else if(a==b){ 13 return 0; 14 } else { 15 return -1; 16 } 17 }); 18 console.log(num);//[4, 9, 16, 25, 64]
var tmpp = num.slice(2,4);//取出第2个到第3个位置的元素并存进新数组
console.log(tmmp);//[16, 25]
splice() 方法 可以用来替换,添加,删除
1 num.splice(2,0,99999);//在索引为2的地方插入99999 2 console.log(num);//[4, 9, 99999, 16, 25, 64] 3 num.splice(2,1);//在索引为2的位置删除1项 4 console.log(num);// [4, 9, 16, 25, 64] 5 num.splice(2,1,99999);//在索引为2的地方替换为99999 6 console.log(num);// [4, 9, 99999, 25, 64] 7 num.splice(2,2,99999);//在索引为2的地方将2个位置替换为99999 8 console.log(num);// [4, 9, 99999, 64]