1. 判断是否为数组
var arr = []; var obj = {}; //方法一 数组名 instanceof Array console.log(arr instanceof Array); // true // 方法二 (Array.isArray(数组名) console.log(Array.isArray(arr)); //true console.log(Array.isArray(obj)); //false
2. 添加数组元素
var arr21 = [1, 2, 3, 4, 5, 6]; // (1)push ()在数组的末尾 添加一个或多个数组元素 var sum21 = arr21.push(7, 8,9); console.log(sum21); // 9 console.log(arr21); // [1, 2, 3, 4, 5, 6, 7, 8, 9] // (2)unshift()在数组开头添加 arr21.unshift(0); console.log(arr21); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] console.log(arr21.unshift()) // 10
3. 删除数组元素
// 3. 删除数组元素 (返回的是删除的那个元素) // (1)pop可以删除数组最后一个元素 console.log(arr21.pop()) //9 // (2)shift()可以删除数组第一个元素 console.log(arr21.shift()); //0 console.log(arr21); // [1, 2, 3, 4, 5, 6, 7, 8]
4. 筛选数组元素
function sxsz() { var sx = []; for (i = 0; i < arguments.length; i++) { console.log(arguments.length) //6 if (arguments[i] > 2) { sx[sx.length] = arguments[i]; // sx.unshift(arguments[i]); } } return sx //不返回,会显示没有定义 } var inp = sxsz(1, 23, 34, 5, 5, 6); console.log(inp) //[23, 34, 5, 5, 6]
5.获取某个数组元素的索引号
// 5. 获取数组某个元素的索引号 var arr5 = [1, 23, 4, 56, 3, 56, 7, 2]; // (1)indexOf() 从0开始查找 如果有重复值,则只显示第一个 (常用) console.log(arr5.indexOf(56)); // 3 // (2)lastIndexOf() 从尾部开始查找 如果有重复值,则只显示第一个 console.log(arr5.lastIndexOf(2)); //7
6. 数组去重复值
// 6. 数组去重复值 // 6.1采用for循环+ indexOf function unique(arr) { var newArr = []; for (i = 0; i < arr.length; i++) { if (newArr.indexOf(arr[i]) === -1) { newArr.push(arr[i]); } } return newArr; } var arr6 = [1, 2, 4, 6, 3, 6, 6, 2] sum61 = unique([1, 2, 4, 6, 3, 6, 6, 2]) console.log(sum61); // [1, 2, 4, 6, 3] // 6.2 new Set(数组)方法 console.log(...new Set(arr6)) console.log(new Set(arr6)) // {1, 2, 4, 6, 3}
7.数组转换为字符串
// 7.数组转换为字符串 var arr6 = [1, 23, 'come on', 4, 56, 3, '你好', 56, 7, 2]; console.log(arr6); // (1)toString() 可以将数组转换为字符串,中间默认用逗号隔开 console.log(arr6.toString()); // 1,23,come on,4,56,3,你好,56,7,2 // (2)join( '字符' ) 括号里面写什么就用什么符号隔开 (推荐使用) console.log(arr6.join(' - ')); //1 - 23 - come on - 4 - 56 - 3 - 你好 - 56 - 7 - 2 console.log(arr6.join(' & ')); //1 & 23 & come on & 4 & 56 & 3 & 你好 & 56 & 7 & 2
8.数组排序
var arr = [1, 2, 3, 4, 5, 2, 4, 5, 1] for(var i=0;i<arr.length-1;i++){ for(var j=0;j<arr.length-i-1;j++){ // 从小到大排序 // if(arr[j]>arr[j+1]){ 结果为:[1, 1, 2, 2, 3, 4, 4, 5, 5] // 从大到小排序 if(arr[j]<arr[j+1]){ //结果为: [5, 5, 4, 4, 3, 2, 2, 1, 1] var tem=arr[j] arr[j]=arr[j+1] arr[j+1]=tem } } } console.log(arr)
9. 数组翻转
// 10翻转数组 var fruits = ["Banana", "Orange", "Apple", "Mango"]; console.log(fruits.reverse()) // ['Mango', 'Apple', 'Orange', 'Banana']
10. 合并数组
// 11 合并数组 var hege = ["Cecilie", "Lone"]; var stale = ["Emil", "Tobias", "Linus"]; console.log(hege.concat(stale)) // ['Cecilie', 'Lone', 'Emil', 'Tobias', 'Linus']