[每天進(jìn)步一點(diǎn)點(diǎn)~] vue uni-app 數(shù)組的操作方法:filter()落塑、map()、forEach()罐韩、concat()憾赁、push()、join()散吵、pop()龙考、shift()、unsh...

詳細(xì)學(xué)習(xí)請(qǐng)看:
vue數(shù)組操作方法
JavaScript Array 對(duì)象參考手冊(cè)

  • 【使數(shù)組發(fā)生更新】方法:修改了原始數(shù)組错蝴,會(huì)觸發(fā)視圖更新
    push() 洲愤、 pop()颓芭、shift()顷锰、unshift()splice() 亡问、sort()官紫、 reverse()塑径、 join()
  • 【返回新數(shù)組讨衣、替換數(shù)組】:不會(huì)變更原始數(shù)組,而總是返回一個(gè)新數(shù)組
    filter()帜矾、concat() 床玻、 slice()毁涉、 map()

【 .filter() 】方法

filter創(chuàng)建一個(gè)新數(shù)組,新數(shù)組中的元素是符合指定條件的元素锈死。

filter方法不會(huì)改變?cè)瓟?shù)組贫堰,不對(duì)空數(shù)組進(jìn)行檢測(cè)。
舉例:

const arr= [32, 33, 16, 40];
const arr1 = arr.filter(item => item >= 18)
console.log(arr) // [32, 33, 16, 40]
console.log(arr1) // [32, 33, 40]

【 .map() 】方法

map() 方法返回一個(gè)新數(shù)組待牵,數(shù)組中的元素為原始數(shù)組元素調(diào)用函數(shù)處理后的值其屏。
map() 方法按照原始數(shù)組元素順序依次處理元素。

filter方法不會(huì)改變?cè)瓟?shù)組缨该,不對(duì)空數(shù)組進(jìn)行檢測(cè)偎行。
舉例:

const arr= [4, 9, 16, 25];
const arr1 = arr.map(item => item+2)
console.log(arr) // [4, 9, 16, 25]
console.log(arr1) // [6, 11, 18, 27]

【 .forEach() 】方法

forEach() 方法用于調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù)。

注意: forEach() 對(duì)于空數(shù)組是不會(huì)執(zhí)行回調(diào)函數(shù)的蛤袒。
tips: forEach()中不支持使用break(報(bào)錯(cuò))和return(不能結(jié)束循環(huán))熄云,有需要時(shí)可使用常規(guī)的for循環(huán)。

const arr= [4, 9, 16, 25];
const arr1 = [];
arr.forEach(item => arr1.push(item))
console.log(arr)   // [4, 9, 16, 25]
console.log(arr1)  // [4, 9, 16, 25]

【 .concat() 】方法:合并數(shù)組

舉例:

// 數(shù)組直接和參數(shù)合并
const array = ['a','b','e'];
console.log(array.concat('h','i')); // "a", "b", "e", "h", "i"

// 2個(gè)數(shù)組合并
const array = ['a','b','e'];
const b = ['c','d']
console.log(array.concat(b));   // a b e c d

// 3個(gè)數(shù)組合并
const array = ['a','b','e'];
const b = ['c','d'];
const c = ['f','g'];
console.log(array.concat(c,b)); // "a", "b", "e", "f", "g", "c", "d"

【 .push() 】方法

push在數(shù)組的末尾增加一個(gè)元素妙真,一次可以增加多個(gè)
舉例:

const array = ['a','b','c'];
array.push('d');
console.log(array); // a b c d
array.push('e','f','g');
console.log(array); // a b c d e f g

【 .join() 】方法

join() 方法用于把數(shù)組中的所有元素放入一個(gè)字符串皱碘。
元素是通過(guò)指定的分隔符進(jìn)行分隔的。

const array = ['a','b','e'];
console.log(array.join('-'));   // a-b-e

【 .pop() 】方法

pop在數(shù)組末尾刪除一個(gè)元素
舉例:

const array = ['a','b','c','d'];
array.pop();
console.log(array); // a b c 

【 .shift() 】方法

shift刪除第一個(gè)元素
舉例:

const array = ['a','b','c','d'];
array.shift();
console.log(array); // b c d

【 .unshift() 】方法

unshift在數(shù)組頭部增加一個(gè)元素或者多個(gè)
舉例:

const array = ['c','d'];
array.unshift('b');
console.log(array); // b c d
array.unshift('e','a');
console.log(array); // e a b c d

【 .splice() 】方法:根據(jù)索引設(shè)置元素

splice刪除隐孽、插入或者替換元素癌椿。語(yǔ)法:this.arr.splice(index, num, value);
舉例:

//  刪除  index=1的1個(gè)元素
const array = ['a','b','c','d'];
array.splice(1, 1)
console.log(array); // a c d

//  插入  在index=1后插入e
const array = ['a','b','c','d'];
array.splice(1, 0, 'e')
console.log(array); // a e b c d

//  替換 index=1的1個(gè)元素
const array = ['a','b','c','d'];
array.splice(1, 1, 'e')
console.log(array); // a e c d

$set方法:刪除、插入或者替換元素菱阵。
語(yǔ)法:arr.$set(index, num, value);和splice() 一樣的語(yǔ)法踢俄。

【 .sort() 】方法

sort數(shù)組排序
舉例:

const array = ['a','c','b','d'];
array.sort();
console.log(array); // "a", "b", "c", "d"

【 .reverse() 】方法

reverse 數(shù)組反轉(zhuǎn)
舉例:

const array = ['a','c','b','d'];
array.reverse();
console.log(array); // "d", "b", "c", "a"

【 .slice() 】方法:可從已有的數(shù)組中返回選定的元素。

語(yǔ)法:arr.slice(start,end);
2個(gè)參數(shù)分別是:即要返回項(xiàng)的起始和結(jié)束位置晴及。

  • 參數(shù):

start 必需都办。規(guī)定從何處開(kāi)始選取。如果是負(fù)數(shù)虑稼,那么它規(guī)定從數(shù)組尾部開(kāi)始算起的位置琳钉。也就是說(shuō),-1 指最后一個(gè)元素蛛倦,-2 指倒數(shù)第二個(gè)元素歌懒,以此類(lèi)推。
end 可選溯壶。規(guī)定從何處結(jié)束選取及皂。該參數(shù)是數(shù)組片斷結(jié)束處的數(shù)組下標(biāo)。如果沒(méi)有指定該參數(shù)且改,那么切分的數(shù)組包含從 start 到數(shù)組結(jié)束的所有元素验烧。如果這個(gè)參數(shù)是負(fù)數(shù),那么它規(guī)定的是從數(shù)組尾部開(kāi)始算起的元素又跛。

  • 返回值
    返回一個(gè)新的數(shù)組碍拆,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
  • 說(shuō)明
    請(qǐng)注意慨蓝,該方法并不會(huì)修改數(shù)組感混,而是返回一個(gè)子數(shù)組。
    當(dāng)只給slice()傳遞一個(gè)參數(shù)時(shí)菌仁,該方法返回從該參數(shù)指定位置開(kāi)始到當(dāng)前數(shù)組末尾的所有項(xiàng)浩习。
    舉例:
const array = ['a','b','c','d'];
console.log(array.slice(1,3));  // b c
console.log(array.slice(1));    // b c d
console.log(array.slice(-3));   // b c d
console.log(array.slice(-1));   // d

【 .find() 】方法

find返回符合要求的第一個(gè)數(shù)組元素,
find方法使用時(shí)济丘,數(shù)組中的每個(gè)元素都會(huì)執(zhí)行find中的函數(shù):

  • 當(dāng)數(shù)組中的元素滿(mǎn)足函數(shù)條件時(shí)則返回true谱秽,find()返回符合要求的數(shù)組元素值洽蛀,之后的值不會(huì)再調(diào)用執(zhí)行函數(shù)。
  • 當(dāng)數(shù)組元素沒(méi)有滿(mǎn)足find中的函數(shù)條件時(shí)疟赊,則返回undefined郊供。

注意:

  • find() 對(duì)于空數(shù)組,函數(shù)是不會(huì)執(zhí)行的近哟。
  • find() 并沒(méi)有改變數(shù)組的原始值驮审。
    舉例:
const arr= [4, 9, 16, 25];
const b = arr.find(item => item>10)
const c = arr.find(item => item<1)
console.log(arr)   // [4, 9, 16, 25]
console.log(b)  // 16
console.log(c)  // undefined

【 .findIndex() 】方法

findIndex返回符合函數(shù)條件的數(shù)組元素下標(biāo),空數(shù)組不會(huì)執(zhí)行吉执。
findIndex() 方法返回傳入一個(gè)測(cè)試條件(函數(shù))符合條件的數(shù)組第一個(gè)元素位置疯淫。
findIndex() 方法為數(shù)組中的每個(gè)元素都調(diào)用一次函數(shù)執(zhí)行:

  • 當(dāng)數(shù)組中的元素在測(cè)試條件時(shí)返回 true 時(shí), findIndex() 返回符合條件的元素的索引位置,之后的值不會(huì)再調(diào)用執(zhí)行函數(shù)戳玫。
  • 如果沒(méi)有符合條件的元素返回 -1

注意:

  • findIndex() 對(duì)于空數(shù)組熙掺,函數(shù)是不會(huì)執(zhí)行的。
  • findIndex() 并沒(méi)有改變數(shù)組的原始值咕宿。

舉例:

const arr= [4, 9, 16, 25];
const b = arr.findIndex(item => item>10)
const c = arr.findIndex(item => item<1)
console.log(arr)   // [4, 9, 16, 25]
console.log(b)  // 2
console.log(c)  // -1

【 .some() 】方法

some方法會(huì)檢測(cè)數(shù)組中的元素是否滿(mǎn)足指定條件(函數(shù)提供)币绩。
some() 方法會(huì)依次執(zhí)行數(shù)組的每個(gè)元素:

  • 如果有一個(gè)元素滿(mǎn)足條件,則表達(dá)式返回true , 剩余的元素不會(huì)再執(zhí)行檢測(cè)府阀。
  • 如果沒(méi)有滿(mǎn)足條件的元素缆镣,則返回false。

注意:

  • some() 不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)试浙《埃空數(shù)組不會(huì)執(zhí)行。
  • some() 不會(huì)改變?cè)紨?shù)組川队。
    舉例:
const arr= [4, 9, 16, 25];
const b = arr.some(item => item>10)
const c = arr.some(item => item<1)
console.log(arr)   // [4, 9, 16, 25]
console.log(b)  // true
console.log(c)  // false

【 .every() 】方法

every檢測(cè)數(shù)組中的元素是否都滿(mǎn)足條件力细,有一個(gè)不滿(mǎn)足條件的則返回false,空數(shù)組不會(huì)執(zhí)行固额。
every() 方法用于檢測(cè)數(shù)組所有元素是否都符合指定條件(通過(guò)函數(shù)提供)。
every() 方法使用指定函數(shù)檢測(cè)數(shù)組中的所有元素:

  • 如果數(shù)組中檢測(cè)到有一個(gè)元素不滿(mǎn)足煞聪,則整個(gè)表達(dá)式返回 false 斗躏,且剩余的元素不會(huì)再進(jìn)行檢測(cè)。
  • 如果所有元素都滿(mǎn)足條件昔脯,則返回 true啄糙。

注意:

  • every() 不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)。
  • every() 不會(huì)改變?cè)紨?shù)組云稚。
const arr= [4, 9, 16, 25];
const b = arr.every(item => item>10)
const c = arr.every(item => item>1)
console.log(arr)   // [4, 9, 16, 25]
console.log(b)  // false
console.log(c)  // true
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末隧饼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子静陈,更是在濱河造成了極大的恐慌燕雁,老刑警劉巖诞丽,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異拐格,居然都是意外死亡僧免,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)捏浊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)懂衩,“玉大人,你說(shuō)我怎么就攤上這事金踪∽嵌矗” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵胡岔,是天一觀的道長(zhǎng)沛申。 經(jīng)常有香客問(wèn)我,道長(zhǎng)姐军,這世上最難降的妖魔是什么铁材? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮奕锌,結(jié)果婚禮上著觉,老公的妹妹穿的比我還像新娘。我一直安慰自己惊暴,他們只是感情好饼丘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著辽话,像睡著了一般肄鸽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上油啤,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天典徘,我揣著相機(jī)與錄音,去河邊找鬼益咬。 笑死逮诲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的幽告。 我是一名探鬼主播梅鹦,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼冗锁!你這毒婦竟也來(lái)了齐唆?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤冻河,失蹤者是張志新(化名)和其女友劉穎箍邮,沒(méi)想到半個(gè)月后茉帅,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡媒殉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年担敌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片廷蓉。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡全封,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出桃犬,到底是詐尸還是另有隱情刹悴,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布攒暇,位于F島的核電站土匀,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏形用。R本人自食惡果不足惜就轧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望田度。 院中可真熱鬧妒御,春花似錦、人聲如沸镇饺。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奸笤。三九已至惋啃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間监右,已是汗流浹背边灭。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留秸侣,地道東北人存筏。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像味榛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子予跌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容