js數組方法彙總

摘要:在作項目的時候常常會遇到數組,並進行一堆的操做和方法,因此我在這裏進行一個總結,把常常遇到的記錄一下,但願能方便你們;數組

 

1.建立數組this

//建立一個空數組
var arr1 = new Array(); 
var arr2 = []; 

 

2.Array.split()spa

解釋:將字符串轉化爲數組;prototype

let arr = 'abcd';
let str = arr.split();
console.log(str)// [a,b,c,d]

 

3.Array.toString()code

解釋:將數組轉化爲字符串(字符串間隔爲',');blog

let arr = [1, 2, 3, 4];
let str = arr.toString()
console.log(str)// 1,2,3,4

 

4.Array.join()排序

解釋:與Array.toString同樣都是同樣將數組轉化爲字符串,不一樣的是能夠定義字符串的間隔符號;ip

let arr = [1, 2, 3, 4];
let str1 = arr.join()
let str2 = arr.join('-')
console.log(str1)// 1234
console.log(str2)// 1-2-3-4

 

5.Array.splice()字符串

解釋:很強大的數組方法,它有不少種用法,能夠實現刪除、插入和替換。格式做用爲Array.splice(開始位置, 刪除的個數,元素);get

let arr = [2, 0, 1, 9, 0, 2, 2, 0];
let arr1 = arr.splice(8, 0, '記載')
let arr2 = arr.splice(2, 3)
let arr3 = arr.splice(2, 1, '一')
console.log(arr1) //[2, 0, 1, 9, 0, 2, 2, 0,'記載']第9位置新增一個元素
console.log(arr2) //[2,0,2,2,0] 從2位置開始刪除三個元素
console.log(arr3) //[2, 0, '一', 9, 0, 2, 2, 0] 從2位置替換一個元素

 

6.Array.push()和Array.pop()

解釋:push()爲在數組末尾添加元素,pop()爲在數組末尾移除元素;

var arr = [1,2,3,4];
var arr1= arr.push(5,6);
console.log(arr); // [1,2,3,4,5,6]
var arr2= arr.pop();
console.log(arr); // [1,2,3,4,5]

 

7.Array.shift()和Array.unshift()

解釋:shift()爲刪除數組的第一項,unshift爲將參數添加到數組的開頭;

var arr = [1,2,3,4];
var arr1= arr.shift();
console.log(arr); // [2,3,4]
var arr2= arr.unshift(0,1);
console.log(arr); // [0,1,2,3,4]

 

8.Array.sort()

解釋:將數組數據按升序排列(小-大);

var arr = [1, 3, 4, 2];
var arr1= arr.sort()
console.log(arr1); // [1, 2, 3, 4]

 

9.Array.reverse()

解釋:將數組項反轉;

var arr = [1, 2, 3, 4];
var arr1 = arr.reverse();
console.log(arr1)); //[4,3,2,1]

 

10.Array.slice()

解釋:將數組進行截取成爲新的數組,格式爲array.slice(開始下標,結束下標);

var arr = [1,2,3,4,5,6];
var arr1 = arr.slice(1);
var arr2 = arr.slice(1,4);
console.log(arr1); //[1, 3, 5, 7, 9, 11](不變)
console.log(arr2); //[2, 3, 4,5]

 

11.Array.forEach()

解釋:對數組進行循環遍歷;

var arr = [1, 2, 3, 4, 5];
arr.forEach(function(index,v){
    console.log(index+'-'+v);
});//0-1 1-2 -2-3 3-4 4-5

 

12.Array.filter()

解釋:將全部元素進行判斷,將知足條件的元素做爲一個新的數組返回;

let arr = [1, 2, 3, 4, 5]
const arr1=> value => value >= 3 let newArr = arr.filter(arr1)
//newArr = [3, 4, 5] 知足條件的元素返回爲一個新的數組

 

13.Array.concat()

解釋:將多個數組拼接成一個數組;

let arr1 = [1, 2, 3]
let arr2 = [4, 5]
let arr = arr1.concat(arr2)
console.log(arr)//[1, 2, 3, 4, 5]

 

14.Array.replace()

解釋:將字符串某個字符進行刪除或替換;

let arr = 'abcd';
let str = arr.replace('b','');
console.log(str)// acd
let str = arr.replace('b','f');
console.log(str)// afcd

 

題目:

1.怎麼把數組裏面參數的每一個值取出,放到一個新數組裏面?

例如數組以下:

[
     {
         num: 16, 
         money: 500, 
         day: "2019-03-15"
      },
      {
         num: 17, 
         money: 540, 
         day: "2019-03-16"
      },
]

思路:咱們應該建三個新數組,而後循環遍歷上方數組,而後取出每一個參數的值加入到新數組裏面;

var Array=上方數組
var newArrayday  = [];//日期新數組
var newArraynum  = [];//訂單數量新數組
var newArraymoney  = [];//個人業績新數組
var j1 = 0;
var j2 = 0;
var j3 = 0;
for(let i in Array){
        newArrayday[j1++] = Array[i].day
        newArraynum[j2++] = Array[i].num
        newArraymoney[j3++] = Array[i].money
}
console.log(newArrayday)
console.log(newArraynum)
console.log(newArraymoney)

 

2.js去除數組中重複元素的四種方法?

Array.prototype.method1 = function(){ 
       var arr[];    //定義一個臨時數組 
       for(var i = 0; i < this.length; i++){    //循環遍歷當前數組 
           //判斷當前數組下標爲i的元素是否已經保存到臨時數組 
           //若是已保存,則跳過,不然將此元素保存到臨時數組中 
           if(arr1.indexOf(this[i]) == -1){ 
               arr.push(this[i]); 
           } 
       } 
       return arr; 
   }
Array.prototype.method2 = function(){  
            var h{};    //定義一個hash表  
            var arr[];  //定義一個臨時數組  
              
            for(var i = 0; i < this.length; i++){    //循環遍歷當前數組  
                //對元素進行判斷,看是否已經存在表中,若是存在則跳過,不然存入臨時數組  
                if(!h[this[i]]){  
                    //存入hash表  
                    h[this[i]] = true;  
                    //把當前數組元素存入到臨時數組中  
                    arr.push(this[i]);  
                }  
            }  
            return arr;  
        }  
 Array.prototype.method3 = function(){  
            //直接定義結果數組  
            var arr=[] ;
            for(var i = 1; i < this.length; i++){    //從數組第二項開始循環遍歷此數組  
                //對元素進行判斷:  
                //若是數組當前元素在此數組中第一次出現的位置不是i  
                //那麼咱們能夠判斷第i項元素是重複的,不然直接存入結果數組  
                if(this.indexOf(this[i]) == i){  
                    arr.push(this[i]);  
                }  
            }  
            return arr;  
          
        }  
Array.prototype.method4 = function(){  
            //將數組進行排序  
            this.sort();  
            //定義結果數組  
            var arr=[];  
            for(var i = 1; i < this.length; i++){    //從數組第二項開始循環遍歷數組  
                //判斷相鄰兩個元素是否相等,若是相等說明數據重複,不然將元素寫入結果數組  
                if(this[i] !== arr[arr.length - 1]){  
                    arr.push(this[i]);  
                }              
            }  
            return arr;  
              
        }  

 

3.js去除複雜數組某個參數的方法?

var array=[
     {
          id:1,
          num:2,
          price:100,
          name:'aaa',
     },
     {
          id:2,
          num:5,
          price:200,
          name:'bbb',
     },
]
for(let i in array){
       delete array[i].price; 
       delete array[i].name; 
}
//結果爲[{ id:1,num:2,},{ id:2,num:5,}]
                           

 

 

 

 

以上僅僅爲數組的一些經常使用方法,還有一些不經常使用的未記錄,具體請參考權威Array方法,地址以下https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array

相關文章
相關標籤/搜索