摘要:前言最近在看的教學(xué)視頻,正好學(xué)到的數(shù)組對(duì)象排序方法,在這跟大家分享一下,如有不足之處,請(qǐng)賜教。結(jié)果整個(gè)項(xiàng)目文件實(shí)例數(shù)組對(duì)象排序結(jié)果希望這篇文章對(duì)新手有用,也希望你們能和我一起分享知識(shí),一起成長(zhǎng)。
前言
最近在看vue的教學(xué)視頻,正好學(xué)到的數(shù)組對(duì)象排序方法,在這跟大家分享一下,如有不足之處,請(qǐng)賜教。
普通數(shù)組的排序
先看代碼:
v-for實(shí)例
- {{number}}
后來(lái)我想了一下,發(fā)現(xiàn)了其中的問(wèn)題,sort方法會(huì)調(diào)用每個(gè)數(shù)組項(xiàng)的toString()方法,得到字符串,然后再對(duì)得到的字符串進(jìn)行排序。sort()方法的參數(shù)就起到了作用,我們把這個(gè)參數(shù)叫做比較函數(shù)。
解決辦法
加一個(gè)比較函數(shù)function sortNumbers(a,b){ return a-b; }咦,怎么結(jié)果還是沒(méi)出來(lái)??原來(lái)我是輸出的時(shí)候忘記吧numbers換成sortNumbers。這是從小到大輸出,那么從大到小呢?很簡(jiǎn)單就是return b-a,
結(jié)果如圖所示:
完整代碼如下:v-for v-for實(shí)例
- {{number}}
數(shù)組對(duì)象的排序
如果數(shù)組項(xiàng)是對(duì)象,我們需要根據(jù)數(shù)組項(xiàng)的某個(gè)屬性對(duì)數(shù)組進(jìn)行排序,要怎么辦呢?其實(shí)和前面的比較函數(shù)也差不多。所以我就只把部分代碼分享出來(lái)了。
如何對(duì)這個(gè)數(shù)組進(jìn)行age排序呢students:[ {name:"cjk",age:"38"} , { name:"xxf",age:"29"}, {name:"zk",age:"26"}, ]比較函數(shù):
function sortByKey(array,key){ return array.sort(function(a,b){ var x = a[key]; var y = b[key]; return((xy)?1:0)); }) } 這里我是用條件操作符來(lái)判斷的,也和下面這個(gè)代碼效果一樣
var compare = function (prop) { return function (obj1, obj2) { var val1 = obj1[prop]; var val2 = obj2[prop];if (val1 < val2) { return -1; } else if (val1 > val2) { return 1; } else { return 0; } } }我覺(jué)得這個(gè)代碼有點(diǎn)冗雜,所以我就用了條件操作符來(lái)判斷輸出。
結(jié)果:整個(gè)項(xiàng)目文件:
v-for v-for實(shí)例
- {{number}}
- {{index+1}}:{{student.name}}-{{student.age}}
結(jié)果:
希望這篇文章對(duì)新手有用,也希望你們能和我一起分享知識(shí),一起成長(zhǎng)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/95539.html
摘要:取到里面的偶數(shù)位的值在計(jì)算屬性不適用的情況下例如,在嵌套循環(huán)中你可以使用一個(gè)方法一段取值范圍的也可以取整數(shù)。 列表渲染 v-for v-for可以把數(shù)據(jù)中的一個(gè)數(shù)組對(duì)應(yīng)為一組元素v-for 指令需要以 item in items 形式的特殊語(yǔ)法, items 是源數(shù)據(jù)數(shù)組并且 item 是數(shù)組元素迭代的別名。 {{item.text}} data:{ items:[ ...
摘要:用函數(shù)化組件展示一個(gè)根據(jù)數(shù)據(jù)智能選擇不同組件的場(chǎng)景函數(shù)化組件根據(jù)數(shù)據(jù)選擇組件函數(shù)化組件根據(jù)數(shù)據(jù)選擇組件函數(shù)化組件主要適用于以下兩個(gè)場(chǎng)景程序化地在多個(gè)組件中選擇一個(gè)。 學(xué)習(xí)筆記:函數(shù)化組件 函數(shù)化組件 Vue提供了一個(gè)functional的布爾值選項(xiàng),設(shè)置為true可以使組件無(wú)狀態(tài)和無(wú)實(shí)例,也就是沒(méi)有data和this上下文。這樣用render函數(shù)返回虛擬節(jié)點(diǎn)可以更容易渲染,因?yàn)楹瘮?shù)化...
摘要:用函數(shù)化組件展示一個(gè)根據(jù)數(shù)據(jù)智能選擇不同組件的場(chǎng)景函數(shù)化組件根據(jù)數(shù)據(jù)選擇組件函數(shù)化組件根據(jù)數(shù)據(jù)選擇組件函數(shù)化組件主要適用于以下兩個(gè)場(chǎng)景程序化地在多個(gè)組件中選擇一個(gè)。 函數(shù)化組件 Vue提供了一個(gè)functional的布爾值選項(xiàng),設(shè)置為true可以使組件無(wú)狀態(tài)和無(wú)實(shí)例,也就是沒(méi)有data和this上下文。這樣用render函數(shù)返回虛擬節(jié)點(diǎn)可以更容易渲染,因?yàn)楹瘮?shù)化組件只是一個(gè)函數(shù),渲染開(kāi)...
摘要:如果一次判斷的是多個(gè)元素,可以在內(nèi)置的元素上使用條件指令,最終渲染的結(jié)果不會(huì)包含該元素。列表渲染也支持用代替作為分隔符,它更接近迭代器的語(yǔ)法的表達(dá)式支持一個(gè)可選參數(shù)作為當(dāng)前項(xiàng)的索引。分隔符前的語(yǔ)句使用括號(hào),第二項(xiàng)就是當(dāng)前項(xiàng)的索引。 學(xué)習(xí)筆記:內(nèi)置指令 內(nèi)置指令 基本指令 v-cloak v-cloak不需要表達(dá)式,它會(huì)在Vue實(shí)例結(jié)束編譯時(shí)從綁定的HTML元素上移除,經(jīng)常和CSS的d...
摘要:條件渲染上一篇與綁定下一篇的事件處理方法在中配合渲染一整組在使用控制元素的時(shí)候,我們需要將它添加到這個(gè)元素上去。最終的渲染結(jié)果不會(huì)包含元素。渲染如下列表渲染使用把一個(gè)數(shù)組對(duì)應(yīng)為一組元素我們用指令根據(jù)一組數(shù)組的選項(xiàng)列表進(jìn)行渲染。 條件渲染 上一篇:Class 與 Style 綁定:https://segmentfault.com/a/11...下一篇:Vue的事件處理方法:https:/...
閱讀 3051·2021-09-22 15:52
閱讀 2918·2019-08-30 15:55
閱讀 2713·2019-08-30 15:53
閱讀 2464·2019-08-30 13:21
閱讀 1634·2019-08-30 13:10
閱讀 2492·2019-08-26 12:09
閱讀 2579·2019-08-26 10:33
閱讀 1811·2019-08-23 18:06