中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue常用的數組方法有哪些

發布時間:2022-12-13 10:36:46 來源:億速云 閱讀:175 作者:iii 欄目:開發技術

今天小編給大家分享一下vue常用的數組方法有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

1. join()

join(’參數‘)把數組的元素以傳入的參數為分割符,轉換成字符串。

let arr = [1,2,3,4,5];
let str = arr.join(',');
console.log(str) // -> '1,2,3,4,5';

2.push()和pop()

push(): 可以接收任意數量的參數,把它們逐個添加到數組末尾,并返回修改后數組的長度。
pop():數組末尾移除最后一項,減少數組的 length 值,然后返回移除的項。

let arr = ['張三','李四','王五'];
let count = arr.push('馬六');
console.log(arr) // -> ['張三','李四','王五','馬六']
console.log(count) // -> 4
 
let item = arr.pop();
console.log(item) // -> 馬六;

3.shift() 和 unshift()

shift():刪除原數組第一項,并返回刪除元素的值;如果數組為空則返回undefined 。
unshift:將參數添加到原數組開頭,并返回數組的長度 。

let arr = ['張三','李四','王五'];
let item = arr.shift();
console.log(arr) // -> ['李四','王五']
console.log(item); // -> 張三
 
let count = arr.unshift('馬六');
 
console.log(arr) // -> ['馬六','李四','王五']
console.log(count) // -> 3

4.reverse();

將數組的數據進行反轉,并且返回反轉后的數組,會改變原數組

let arr = [1,2,3,4,5];
let arr1 = arr.reverse();
console.log(arr1) // -> [5,4,3,2,1]
console.log(arr) // -> [5,4,3,2,1]

5.sort();

對數組內的數據進行排序(默認為升序),并且返回排過序的新數組,會改變原來的數組

let arr = [12,2,43,5,2,5];
console.log(arr.sort()) // -> [12, 2, 2, 43, 5, 5]
// 注意:通過上面的案例,你會發現 打印的數組和原數組比較還是有變化的 [12,2,43,5,2,5] -> [12, 2, 2, 43, 5, 5];但是有沒有達到我們想要的結果,這是為什么呢?
// 因為排序是針對字符的排序,先使用數組的toString()方法轉為字符串,再逐位比較,3是大于12的,因為首位3>1,不要與Number型的數據排序混淆。
5.1那如果需要數值排序怎么辦呢?
 
// 如果需要數值排序,sort(callback) 需要傳入一個回調涵數,該函數應該具有兩個參數,比較這兩個參數,然后返回一個用于說明這兩個值的相對順序的數字(a-b);
例如:
let arr = [12,2,43,5,2,5];
console.log(arr.sort((a,b)=>a-b)) // -> [2, 2, 5, 5, 12, 43]

6.slice();

截取指定位置的數組,并且返回截取的數組,不會改變原數組

// 注意:slice(startIndex, endIndex)可以有兩個參數,startIndex為必選,表示從第幾位開始;endIndex為可選,表示到第幾位結束(不包含endIndex位),省略表示到最后一位;startIndex和endIndex都可以為負數,負數時表示從最后一位開始算起,如-1表示最后一位。
let arr =  ['張三','李四','王五','馬六'];
console.log(arr.slice(1,3)); // -> ['李四', '王五']
console.log(arr) // -> ['張三','李四','王五','馬六']; 原數組是沒有改變的。

7.splice();

向數組中添加,或從數組刪除,或替換數組中的元素,然后返回被刪除/替換的元素。

// 注意:splice(start,num,val1,val2,...); 所有參數全部可選。和 slice 相比 splice 是會改變原數組的。
// start 是開始位置,可以為負數,-1就代表從最后一位開始,num代表要刪除或者替換的長度,不能為負數。
let arr = ['張三','李四','王五','馬六'];
console.log(arr.splice(2,1)) // -> ['王五']
console.log(arr) // -> ['張三','李四','馬六']
 
let arr = ['張三','李四','王五','馬六'];
console.log(arr.splice(2,1,'七郎')) // -> ['王五'] 
console.log(arr) // -> ['張三', '李四', '七郎', '馬六']

8.toString();

將數組轉換成字符串,類似于沒有參數的join()。該方法會在數據發生隱式類型轉換時被自動調用,如果手動調用,就是直接轉為字符串。不會改變原數組

let arr = [1,2,3,4,5,6];
console.log(arr.toString()) // -> '1,2,3,4,5,6'
// 注意:沒有參數。

9.indexOf();

根據指定的數據,從左向右,查詢在數組中出現的位置,如果不存在指定的數據,返回-1,找到了指定的數據返回該數據的索引

// 注意:indexOf(value, start);value為要查詢的數據;start為可選,表示開始查詢的位置,當start為負數時,從數組的尾部向前數;如果查詢不到value的存在,則方法返回-1
 
let arr = ['張三','李四','王五','馬六'];
console.log(arr.indexOf('李四')) // -> 1
console.log(arr.indexOf('李四',2)) // -> -1
10.forEach()
ES5新增的方法,用來遍歷數組,沒有返回值,

// 注意:forEach(callback);callback默認有三個參數,分別為value(遍歷到的數組的數據),index(對應的索引),self(數組自身)。
let arr = ['張三','李四','王五','馬六']
let a = arr.forEach((item,index,self)=>{
    console.log(value + "--" + index + "--" + (arr === self));
})
// 打印結果為:
// 張三--0--true
// 李四--1--true
// 王五--2--true
// 馬六--3--true
console.log(a);  // -> undefined---forEach沒有返回值
//該方法為遍歷方法,不會修改原數組

11.map();

1.同forEach功能;
2.map的回調函數會將執行結果返回,最后map將所有回調函數的返回值組成新數組返回。

//注意:map(callback);callback默認有三個參數,分別為value,index,self。跟上面的forEach()的參數一樣
let arr = ['張三','李四','王五','馬六'];
let arr1 = arr.map(item => {
    return '你好:'+item
})
console.log(arr1) // -> ['你好:張三', '你好:李四', '你好:王五', '你好:馬六']

12.filter();

1.同forEach功能;2.filter的回調函數需要返回布爾值,當為true時,將本次數組的數據返回給filter,最后filter將所有回調函數的返回值組成新數組返回(此功能可理解為“過濾”)。

// 注意:filter(callback);callback默認有三個參數,分別為value,index,self。
let arr = [1,2,3,4,5,6];
let arr1 = arr.filter((value,index,self)=>{
    console.log(item) // -> 1,2,3,4,5,6
    console.log(index) // -> 0,1,2,3,4,5
    console.log(self) // -> [1,2,3,4,5,6]
    return item > 3
})
 
console.log(arr1) // -> [4,5,6]

13.find();

數組的循環,查找到符合條件的值并且打斷循環返回找到的值;

let arr = ['張三','李四','王五','馬六'];
let str = arr.find(item => item == '李四');
console.log(str); // -> '李四'

14.findIndex();

數組的循環,查找到符合條件的索引并且打斷循環返回找到的索引值

let arr = ['張三','李四','王五','馬六'];
let index = arr.findIndex(item => item == '李四');
console.log(index); // -> 1;

15.every();

判斷數組中每一項是否都滿足條件,只有所有項都滿足條件,才會返回true。

// 注意: every()接收一個回調函數作為參數,這個回調函數需要有返回值,every(callback);callback默認有三個參數,分別為value,index,self。
let arr = [1,2,3,4,5,6];
let bool = arr.every(item => item > 0);
console.log(bool); // -> true;
 
let bool = arr.every(item => item > 3);
console.log(bool); // -> false;

16.some();

判斷數組中是否存在滿足條件的項,只要有一項滿足條件,就會返回true。否側就會返回false

//注意: some()接收一個回調函數作為參數,這個回調函數需要有返回值,some(callback);callback默認有三個參數,分別為value,index,self。
let arr = [1,2,3,4,5,6];
let bool = arr.some(item => item > 3);
console.log(bool) // -> true;
 
let bool = arr.some(item => item > 6);
console.log(bool) // -> false;

17.reduce();

數組的第一項開始,逐個遍歷到最后,迭代數組的所有項,然后構建一個最終返回的值。

// 注意: 參數:reduce()接收一個或兩個參數:第一個是回調函數,表示在數組的每一項上調用的函數;第二個參數(可選的)作為歸并的初始值,被回調函數第一次執行時的第一個參數接收。 reduce(callback,initial);callback默認有四個參數,分別為prev,now,index,self。 callback返回的任何值都會作為下一次執行的第一個參數。 如果initial參數被省略,那么第一次迭代發生在數組的第二項上,因此callback的第一個參數是數組的第一項,第二個參數就是數組的第二項。
 
let arr = [10,20,30,40,50];
let sum = arr.reduce((prev,now) => prev+now)
 
console.log(sum); // -> 150;
 
let sum = arr.reduce((prev,now) => prev+now,110)
 
console.log(sum)

以上就是“vue常用的數組方法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

临武县| 筠连县| 祥云县| 阿尔山市| 天峻县| 嫩江县| 霍林郭勒市| 西城区| 门源| 长春市| 安达市| 尼勒克县| 钟山县| 无为县| 沐川县| 孟村| 喀喇沁旗| 衡南县| 禄丰县| 湟中县| 绍兴市| 抚松县| 平顺县| 海伦市| 林西县| 山阴县| 贡山| 教育| 兴海县| 布拖县| 栾川县| 威海市| 怀远县| 玉树县| 宁明县| 夹江县| 陈巴尔虎旗| 汽车| 阳朔县| 山东| 泰兴市|