千鋒教育JavaScript全套視頻教程(10天學(xué)會Js,前端javascrip

?1.棧方法(后進先出)
? push() 可以接收任意數(shù)量的參數(shù),把它們逐個添加到數(shù)組末尾,并返回修改后數(shù)組的長度,改變原數(shù)組
? var arr = ['apple', 'banana', 'pear', 'orange']; //arr:數(shù)組對象,實例對象 ? ?Array:構(gòu)造函數(shù)(類)
? console.log(arr.push('zhangsan', 'lisi', 'wangwu'));//7
? console.log(arr);//['apple', 'banana', 'pear', 'orange', 'zhangsan', 'lisi', 'wangwu']
? 案例:創(chuàng)建一個長度為100的數(shù)組,里面是從2開始的偶數(shù)。
? var arr = [];
? for (var i = 1; i <= 100; i++) {//i:1,2,3,4,5
? ? arr.push(i * 2);
? }
? console.log(arr);
? pop() 從數(shù)組末尾移除最后一項,減少數(shù)組的length值,然后返回移除的項,改變原數(shù)組
? var arr = ['apple', 'banana', 'pear', 'orange'];
? console.log(arr.pop());//orange
? arr.pop();
? arr.pop();
? arr.pop();
? console.log(arr);
? 案例:清空數(shù)組(注意arr.length是動態(tài)獲取,pop改變原數(shù)組)
? var arr = ['apple', 'banana', 'pear', 'orange', 'zhangsan', 'lisi', 'wangwu', 'zhanliu'];
? for (var i = 0, len = arr.length; i < len; i++) {//arr.length動態(tài)獲取數(shù)組的長度,但是pop方法刪除一項,改變原數(shù)組
? ? arr.pop();
? }
? console.log(arr);
? 2.隊列方法
? unshift()可以接收任意數(shù)量的參數(shù),把它們逐個添加到數(shù)組前面,并返回修改后數(shù)組的長度,改變原數(shù)組
? var arr = ['apple', 'banana', 'pear', 'orange'];
? console.log(arr.unshift('a', 'b', 'c'));//7
? console.log(arr);//['a', 'b', 'c','apple', 'banana', 'pear', 'orange']
? shift() 從數(shù)組前面移除一項,減少數(shù)組的length值,然后返回移除的項,改變原數(shù)組
? var arr = ['a', 'b', 'c', 'apple', 'banana', 'pear', 'orange'];
? console.log(arr.shift());//a
? console.log(arr);//['b', 'c', 'apple', 'banana', 'pear', 'orange']
1.concat() 方可以基于當前數(shù)組中的所有項創(chuàng)建一個新數(shù)組,參數(shù)可以是數(shù)組項或者數(shù)組。
? var arr = ['zhangsan', 'lisi'];
? var newArr = arr.concat('wangwu', 'zhaoliu');
? console.log(arr);//['zhangsan', 'lisi']
? console.log(newArr);//基于當前原數(shù)組,生成新數(shù)組['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
? var arr = ['a', 'b', 'c'];
? var newArr = arr.concat('d', 'e', arr, arr);
? console.log(newArr);//['a', 'b', 'c','d', 'e','a', 'b', 'c','a', 'b', 'c']
? console.log(arr);//['a', 'b', 'c'] ?不改變原數(shù)組
? 2.slice() 方法它能夠基于當前數(shù)組中的一或多項創(chuàng)建一個新數(shù)組, 可以接受一或兩個參數(shù),即要返回項的起始和結(jié)束位置,不包括結(jié)束位置。
? var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
? var newArr = arr.slice(2, 4); //起始索引和結(jié)束的索引,不包括結(jié)束的索引位置
? console.log(newArr);//['c','d']
? console.log(arr.slice(2));//從索引2位置開始截取,直到最后的。 ['c', 'd', 'e', 'f', 'g']
? console.log(arr.slice());//全部截取,['a', 'b', 'c', 'd', 'e', 'f', 'g']
? 了解如果參數(shù)是負數(shù),表示從后往前數(shù),-1開始
? 截取一定是從前往后進行截取,數(shù)起始位置和結(jié)束位置的時候,從后往前數(shù)。
? console.log(arr.slice(-5, -2));//[ 'c', 'd', 'e']
? console.log(arr.slice(-100, -500));//[]
? 3.splice() 方法對數(shù)組進行刪除、插入、替換,是最強大的數(shù)組方法,返回值是數(shù)組,改變原數(shù)組。
? var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
? 3.1.刪除,第一個參數(shù)表示刪除的起始索引位置,第二個參數(shù)表示刪除數(shù)組項的長度。
? console.log(arr.splice(2, 3));//['c', 'd', 'e'] ?返回被刪除的項
? console.log(arr);//['a', 'b','f', 'g']
? 3.2.插入,根據(jù)刪除演變而來的
? 參1:刪除的起始索引位置
? 參2:表示刪除數(shù)組項的長度
? 從參數(shù)3開始,就是添加的數(shù)組項,將數(shù)組項添加到第一個參數(shù)的位置。
? var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
? console.log(arr.splice(2, 0, 'hello', 'hi'));//[] 返回被刪除的項
? console.log(arr);//['a', 'b', 'hello', 'hi', 'c', 'd', 'e', 'f', 'g']
? 3.3.替換,根據(jù)刪除演變而來的,刪除幾項,插入幾項。
? var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
? console.log(arr.splice(2, 3, 'hehe', 'xixi', 'haha'));//['c', 'd', 'e']
? console.log(arr);// ['a', 'b','hehe', 'xixi', 'haha', 'f', 'g'];