目录
splice(start,delLength,newEle,newEle,……)
toString() : (面试题:不是数组的方法,是Object对象的方法,数组继承到的方法)
indexOf(元素,start): 查找元素在数组中第一次出现的下标位置,如果没有,则返回-1
lastIndexOf(元素,start) : 查找元素在数组中从右向左查找第一次出现的下标位置,如果没有找到,返回 -1
forEach(function(value,index,array){}) : 遍历数组
map(function(value,index,array){return ...}) : 遍历数组,返回数组
filter(function(value,index,array){return ...}) : 过滤-条件,返回数组
reduce(function(prev,next,index,array){return ...}) : 归并
(相邻)的两个数进行比较,符合条件,交换位置。
-
- 冒泡排序:核心-相邻的两个数进行比较,符合条件,交换位置。
- 小到大
- 从前到后
- 9 6 6 4 2
- 6 9 4 2 4
- 15 4 2 6
- 4 2 9
- 2 15
-
- //声明数组
- var arr = [9,6,15,4,2];
- //轮数
- function fnBubbleSortFromSmallToBig(arr){
- for(var i = 1;i < arr.length;i ++){
- //从数组中取元素---遍历
- for(var j = 0;j < arr.length - i;j ++){
- if(arr[j] > arr[j + 1]){
- var t = arr[j];
- arr[j] = arr[j + 1];
- arr[j + 1] = t;
- }
- }
- }
- return arr;
- }
- function fnBubbleSortFromBigToSmall(arr){
- for(var i = 1;i < arr.length;i ++){
- //从数组中取元素---遍历
- for(var j = 0;j < arr.length - i;j ++){
- if(arr[j] < arr[j + 1]){
- var t = arr[j];
- arr[j] = arr[j + 1];
- arr[j + 1] = t;
- }
- }
- }
- return arr;
- }
依次取一个元素 与 剩下所有元素 进行比较,符合条件,交换位置 。 数组常用方法
- 选择排序:核心-依次取一个元素与剩下所有的元素进行比较,符合条件,交换位置。
- 小到大
- 从前到后
- 9 6 6 4 2
- 6 9 4 2 4
- 15 4 2 6
- 4 2 9
- 2 15
-
- function fnSelectFromSmallToBig(arr){
- //遍历
- for(var i = 0;i < arr.length - 1;i ++){
- //遍历
- for(var j = i + 1;j < arr.length;j ++){
- if(arr[i] > arr[j]){
- var t = arr[i];
- arr[i] = arr[j];
- arr[j] = t;
- }
- }
- }
- return arr;
- }
-
- function fnSelectFromBigToSmall(arr){
- //遍历
- for(var i = 0;i < arr.length - 1;i ++){
- //遍历
- for(var j = i + 1;j < arr.length;j ++){
- if(arr[i] < arr[j]){
- var t = arr[i];
- arr[i] = arr[j];
- arr[j] = t;
- }
- }
- }
- return arr;
- }
- //声明一个数组
- var arr = [5,6,7,8,9];
- //在前面新增一个元素
- console.log(arr.unshift(true,[1,2,3],false)); //8
- console.log(arr); //[true,[1,2,3],false,5,6,7,8,9]
- //声明一个数组
- var arr = [5,6,7,8,9];
- //在前面新增一个元素
- console.log(arr.push(true,[1,2,3],false)); //8
- console.log(arr); //[5,6,7,8,9,true,[1,2,3],false]
- //声明一个数组
- var arr = [5,6,7,8,9];
- console.log(arr.shift()); //5
- console.log(arr); //[6,7,8,9]
-
- //声明一个数组
- var arr = [5,6,7,8,9];
- // console.log(arr.shift()); //5
- // console.log(arr); //[6,7,8,9]
-
- //如何删除全部?
- while(arr.length){ //0
- arr.shift();
- }
- console.log(arr);
- //声明一个数组
- var arr = [5,6,7,8,9];
- console.log(arr.pop()); //9
- console.log(arr); //[5, 6,7,8]
start: 从哪个下标位置开始 delLenght: 删除几个元素 newEle : 新元素
- //声明一个数组
- var arr = [5,6,7,8,9];
- console.log(arr.splice(1)); //[6, 7, 8, 9]
- console.log(arr); //[5]
-
- //声明一个数组
- var arr = [5,6,7,8,9];
- console.log(arr.splice(1,2)); //[6, 7]
- console.log(arr); //[5,8,9]
-
- //声明一个数组
- var arr = [5,6,7,8,9];
- console.log(arr.splice(1,2,true,[1,2],false)); //[6, 7]
- console.log(arr); //[5,true,[1,2],false,8,9]
-
- //声明一个数组
- var arr = [5,6,7,8,9];
- console.log(arr.splice(1,0,true,[1,2],false)); //[]
- console.log(arr); //[5,true,[1,2],false,6,7,8,9]
start : 从哪里开始(包含) end : 到哪里结束(不包含)
- //声明一个数组
- var arr = [5,6,7,8,9];
- console.log(arr.slice(1)); //[6,7,8,9]
- console.log(arr); //[5,6,7,8,9]
-
- //声明一个数组
- var arr = [5,6,7,8,9];
- console.log(arr.slice(1,4)); //[6,7,8]
- console.log(arr); //[5,6,7,8,9]
-
- // //声明一个数组
- // var arr = [5,6,7,8,9];
- // console.log(arr.slice(4,1)); //[]
- // console.log(arr); //[5,6,7,8,9]
-
- //声明一个数组
- var arr = [5,6,7,8,9];
- console.log(arr.slice(-4,-1)); // [6, 7, 8]
- console.log(arr); //[5,6,7,8,9]
- //声明一个数组
- var arr = [5,6,7,8,9];
- console.log(arr.concat(-4,[1,[2,3]],-1)); //[5, 6, 7, 8, 9, -4, 1, [2,3], -1]
- console.log(arr); //[5,6,7,8,9]
- var arr = [5,6,7,8,9];
- console.log(arr.reverse()); //[9,8,7,6,5]
- console.log(arr); //[9,8,7,6,5]
sort(function(a,b){return a - b;}) : 按数字从小到大排序 sort(function(a,b){return b - a;}) : 按数字从大到小排序
- var arr = [3,2,10,1,100,20];
- console.log(arr.sort()); //[1,10,100,2,20,3]
- console.log(arr); //[1, 10, 100, 2, 20, 3]
- var i = 10;
- console.log(i.toString(2)); //1010
- console.log(i.toString(8)); //12
- console.log(i.toString(16)); //a
- var arr = [1,2,3,4];
- console.log(arr.toString()); //'1,2,3,4'
- console.log(arr); //[1,2,3,4]
- var arr = [1,2,3,4];
- console.log(arr.join('+')); //'1+2+3+4'
- console.log(arr); //[1,2,3,4]
- var arr = [1,2,3,1,2,3,2,4,2,1];
- console.log(arr.indexOf(2,2)); //4
- console.log(arr.indexOf(5)); // -1
- var arr = [1,2,3,1,2,3,2,4,2,1];
- console.log(arr.indexOf(2,2)); //4
- console.log(arr.indexOf(5)); // -1
- console.log(arr.lastIndexOf(2)); //8
- console.log(arr.lastIndexOf(2,2)); //1
- console.log(arr.lastIndexOf(2,5)); //4
- var arr = [99,100,89,59,98];
- var sum = arr.reduce(function(prev,next){
- console.log(prev,next);
- // prev = 99 next = 100
- //prev = 199 next = 89
- // prev = 288 next = 59
- //prev = 347 next = 98
- //prev = 455
- return prev + next;
- })
- alert(sum);
-
- var sum = arr.reduce(function(prev,next){
- console.log(prev,next);
- // prev = 0 next = 99
- //prev = 99 next = 89
- return prev + next;
- },0)
- alert(sum);