一.push 是用來(lái)做什么的? 以此數(shù)組為例: sum=[12,34,56,78,89,50],寫(xiě)代碼示范;
作用:像數(shù)組的末尾添加y一個(gè)或多個(gè)元素,并返回新數(shù)組長(zhǎng)度;
? <script>
? var sum =[12,34,56,78,89,50];
? sum.push('aaa');
? console.log(sum);//打印出[12,34,56,78,89,50,'aaa']及數(shù)組長(zhǎng)度
? </script>
二.forEach的作用是什么?使用下列數(shù)組計(jì)算每個(gè)人的年齡?
? <script>
? var arr = [
? ? {name: '小王',age: 50},
? ? {name: '小李',age: 60},
? ? {name: '小林',age: 85},
? ? {name: '小明',age: 95}
]
? var sum=0;
? arr.forEach(item=>{
? sum =item.name+':'+ item.age;
? console.log(sum);
})
</script>
三.map 簡(jiǎn)寫(xiě)的作用?
通過(guò)指定函數(shù)處理數(shù)組的每個(gè)元素,并返回處理后的數(shù)組.
四.splice是用來(lái)做什么的,并自己舉例?
作用: 從數(shù)組中添加或刪除元素.
<script>
var arr=[1,2,3,4,5,6];
? ? ? ? arr.splice(1,2)//從數(shù)組的第一位開(kāi)始刪除兩個(gè)元素
? ? ? ? console.log(arr);//打印出arr[1,4,5,6]
var arr=[1,2,3,4,5,6];
? ? ? arr.splice(2,0,'aaa');//從數(shù)組的第二位開(kāi)始添加一個(gè)新元素
? ? ? console.log(arr);//打印出[1, 2, "aaa", 3, 4, 5, 6]
var arr=[1,2,3,4,5,6];
? ? ? arr.splice(2,1,'aaa');//替換下標(biāo)為2的元素
? ? ? console.log(arr);//打印出[1, 2,'aaa', 4, 5, 6]
var arr=[1,2,3,4,5,6];
? ? ? arr.splice(2,2,'aaa');//將從下標(biāo)為2開(kāi)始的兩個(gè)元素替換為新元素
? ? ? console.log(arr);//打印出[1, 2,'aaa', 5, 6]
</script>? ? ? ? ? ? ? ? ?
五.filter 是用來(lái)做什么的?
作用:檢測(cè)數(shù)組元素,并返回符合條件的所有元素的數(shù)組
將下列數(shù)據(jù)中的isHot為1的字段篩選出來(lái):
<script>
? var hotCity= [
? ? ? ? {
? ? ? ? "cityId": 110100,
? ? ? ? "name": "北京",
? ? ? ? "pinyin": "beijing",
? ? ? ? "isHot": 0
? ? ? ? },
? ? ? ? {
? ? ? ? "cityId": 310100,
? ? ? ? "name": "上海",
? ? ? ? "pinyin": "shanghai",
? ? ? ? "isHot": 1
? ? ? ? },
? ? ? ? {
? ? ? ? "cityId": 440100,
? ? ? ? "name": "廣州",
? ? ? ? "pinyin": "guangzhou",
? ? ? ? "isHot": 0
? ? ? ? },
? ? ? ? {
? ? ? ? "cityId": 440300,
? ? ? ? "name": "深圳",
? ? ? ? "pinyin": "shenzhen",
? ? ? ? "isHot": 1
? ? ? ? }
? ]
? es6寫(xiě)法
? var newHotCity=hotCity.filter(item=>{
? ? ? return item.isHot==1;
? })
? console.log(newHotCity);
? js5寫(xiě)法
? var newHotCity=hotCity.filter(function(item){
? ? ? return item.isHot==1;
? })
? console.log(newHotCity);
</script>
? 六.說(shuō)說(shuō) find 和 findIndex 的相同點(diǎn)和不同點(diǎn).
? 相同點(diǎn):都是符合測(cè)試(函數(shù))條件的數(shù)組元素,
? 不同點(diǎn):find返回的是符合條件的元素,findIndex返回的則是符合條件元素的下標(biāo).
? 七.將下列所有的數(shù)組方法,用代碼運(yùn)行一邊,并寫(xiě)成簡(jiǎn)書(shū) .
? ? 1.? push 向數(shù)組的末尾添加一個(gè)或更多元素良哲,并返回新的長(zhǎng)度蜜葱。
<script>
? ? var arr=[1,2,3,4,5,6,7];
? ? arr.push(2,3);
? ? console.log(arr)//打印[1,2,3,4,5,6,7,2,3]
</script>
? ? 2.unshift 向數(shù)組的開(kāi)頭添加一個(gè)或更多元素畅哑,并返回新的長(zhǎng)度拉讯。
<script>
? ? var arr=[1,2,3,4,5,6];
? ? arr.unshift(1);//返回長(zhǎng)度7
? ? console.log(arr)//打印[1,1,2,3,4,5,6]
</script>
? ? 3.pop 刪除數(shù)組的最后一個(gè)元素并返回刪除的元素到千。
<script>
? ? var arr=[1,2,3,4,5,6];
? ? arr.pop();//返回6
? ? console.log(arr);//[1,2,3,4,5]
</script>
? ? 4.shift 刪除并返回?cái)?shù)組的第一個(gè)元素(知道即可,用得很少)。
<script>
? ? var arr=[1,2,3,4,5,6];
? ? arr.shift();//返回1
? ? console.log(arr);//[2,3,4,5,6]
</script>
? ? 5. reverse 反轉(zhuǎn)數(shù)組的元素順序幅狮。
<script>
? var arr=[1,2,3,4,5,6];
? arr.reverse()
? console.log(arr)//[6,5,4,3,2,1]
</script>
? ? 6. find 返回符合傳入測(cè)試(函數(shù))條件的數(shù)組元素睹欲。
<script>
? ? var arr=[1,2,3,4,5,6];
? ? var num=arr.find(function(item){
? ? ? ? ? return item ==5;
? ? })
? ? console.log(num);
</script>
? ? 7.? findIndex 返回符合傳入測(cè)試(函數(shù))條件的數(shù)組元素索引。
<script>
? ? var arr=[1,2,3,4,5,6];
? ? var num=arr.findIndex(function(item){
? ? ? ? ? return item ==5;
? ? })
? ? console.log(num);//打印4
</script>
? ? 8. slice 選取數(shù)組的的一部分吼和,并返回一個(gè)新數(shù)組睬愤。
<script>
? ? var arr=[1,2,3,4,5,6];
? ? var newarr=arr.slice(2,4);
? ? console.log(newarr)//打印[3,4]
</script>
? ? 9. splice 從數(shù)組中添加或刪除元素。
<script>
? ? var arr=[1,2,3,4,5,6];
? ? ? ? arr.splice(1,2)//從數(shù)組的第一位開(kāi)始刪除兩個(gè)元素
? ? ? ? console.log(arr);//打印出arr[1,4,5,6]
var arr=[1,2,3,4,5,6];
? ? ? arr.splice(2,0,'aaa');//從數(shù)組的第二位開(kāi)始添加一個(gè)新元素
? ? ? console.log(arr);//打印出[1, 2, "aaa", 3, 4, 5, 6]
var arr=[1,2,3,4,5,6];
? ? ? arr.splice(2,1,'aaa');//替換下標(biāo)為2的元素
? ? ? console.log(arr);//打印出[1, 2,'aaa', 4, 5, 6]
var arr=[1,2,3,4,5,6];
? ? ? arr.splice(2,2,'aaa');//將從下標(biāo)為2開(kāi)始的兩個(gè)元素替換為新元素
? ? ? console.log(arr);//打印出[1, 2,'aaa', 5, 6]? ?
</script>
? ? 10. join 把數(shù)組的所有元素放入一個(gè)字符串纹安。
<script>
? ? var arr=[1,2,3,4,5,6];
? ? arr.join();//返回"1,2,3,4,5,6"
</script>
? ? 11.forEach 迭代數(shù)組尤辱。
<script>
? ? var arr = [
? ? {name: '小王',age: 50},
? ? {name: '小李',age: 60},
? ? {name: '小林',age: 85},
? ? {name: '小明',age: 95}
]
? var sum=0;
? arr.forEach(item=>{
? sum =item.name+':'+ item.age;
? console.log(sum);
})
</script>
? ? 12.? map 通過(guò)指定函數(shù)處理數(shù)組的每個(gè)元素,并返回處理后的數(shù)組厢岂。
<script>
? ? var arr = [
? ? {
? ? ? ? name: '張三',
? ? ? ? age:28
? ? },
? ? {
? ? ? ? name: '李四',
? ? ? ? age:28
? ? },
? ? {
? ? ? ? name: '陳武',
? ? ? ? age:28
? ? }
? ? ];
? ? // js5
? ? ? ? var newArr = arr.map(function(item){
? ? ? ? return {
? ? ? ? ? ? username: item.name,
? ? ? ? ? ? age: item.age+10
? ? ? ? };
? ? })
? ? console.log(newArr);
? ? ? ? // es6
? ? var newArr = arr.map(item=>{
? ? ? ? return {
? ? ? ? ? ? username: item.name,
? ? ? ? ? ? age: item.age+10
? ? ? ? };
? ? })
? ? console.log(newArr);
</script>
? ? 13.? filter 檢測(cè)數(shù)值元素光督,并返回符合條件所有元素的數(shù)組。
<script>
? ? var arr=[
? ? ? ? ? {name:'liu',age:23},
? ? ? ? ? {name:'liu',age:24},
? ? ? ? ? {name:'liu',age:26},
? ? ]
? ? var newarr=arr.filter(item=>{
? ? ? ? ? return item.age<25;
? ? });
? ? console.log(newarr)//打印{name:'liu',age:23},{name:'liu',age:24}
</script>
? ? 14.? indexOf 搜索數(shù)組中的元素塔粒,并返回它所在的位置结借。
<script>
? ? var arr = ['a','b','c','d'];
? ? var index = arr.indexOf('c');
? ? console.log(index); // 2
? ? var index2= arr.indexOf('f');
? ? console.log(index2); // 找不到返回-1
</script>
? ? 15. includes 判斷一個(gè)數(shù)組是否包含一個(gè)指定的值
<script>
? ? var arr = ['a','b','c','d'];
? ? var b1 = arr.includes ('c');
? ? console.log(b1); // true
? ? var b2 = arr.includes ('f');
? ? console.log(b2); // false
</script>
? ? 16. isArray 判斷對(duì)象是否為數(shù)組。
<script>
? ? var arr=[1,2,3];
? ? Array.isArray(arr);//true
? ? var obj={
? ? ? ? ? name:'liu'
? ? }
? ? Array.isArray(obj);//false
</script>
? ? 16.sort 數(shù)組排序
<script>
? ? var arr = [1,6,3,4];
? ? arr.sort();
? ? console.log(arr);? // [1, 3, 4, 6]
? ? // 例2 通過(guò)排序函數(shù)
? ? var arr = [10,5,40,25,1000,1]
? ? // 升序排列
? ? // js5
? ? arr.sort(function(a,b){
? ? return a-b;
? ? })
? ? // es6
? ? arr.sort((a,b)=> {
? ? return a-b;
? ? })
? ? console.log(arr); //? [1, 5, 10, 25, 40, 1000]
? ? // 降序排列
? ? // js5
? ? arr.sort(function(a,b) {
? ? // 升序排列
? ? return b-a;
? ? })
? ? console.log(arr); // [1000, 40, 25, 10, 5, 1]
? ? // es6
? ? arr.sort((a,b)=> {
? ? // 升序排列
? ? return b-a;
? ? })
? ? console.log(arr); // [1000, 40, 25, 10, 5, 1]
</script>