js sort方法根據陣列中物件的某一個屬性值進行排序
sort方法接收一個函式作為引數,這裡巢狀一層函式用來接收物件屬性名,其他部分程式碼與正常使用sort方法相同.
var arr = [
{name:'zopp',age:0},
{name:'gpp',age:18},
{name:'yjj',age:8}
];
function compare(property){
return function(a,b){
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
console.log(arr.sort(compare('age')))
如何根據引數不同,來確定是升序排列,還是降序排序呢?
/**陣列根據陣列物件中的某個屬性值進行排序的方法
* 使用例子:newArray.sort(sortBy('number',false)) //表示根據number屬性降序排列;若第二個引數不傳遞,預設表示升序排序
* @param attr 排序的屬性 如number屬性
* @param rev true表示升序排列,false降序排序
* */
sortBy: function(attr,rev){
//第二個引數沒有傳遞 預設升序排列
if(rev == undefined){
rev = 1;
}else{
rev = (rev) ? 1 : -1;
}
return function(a,b){
a = a[attr];
b = b[attr];
if(a < b){
return rev * -1;
}
if(a > b){
return rev * 1;
}
return 0;
}
}
相關推薦
js sort方法根據陣列中物件的某一個屬性值進行排序(實用方法)
js sort方法根據陣列中物件的某一個屬性值進行排序 sort方法接收一個函式作為引數,這裡巢狀一層函式用來接收物件屬性名,其他部分程式碼與正常使用sort方法相同. var arr = [ {name:'zopp',age:0}, {name:'gpp',age:18}, {n
js sort方法根據陣列中物件的某一個屬性值進行排序
sort方法接收一個函式作為引數,這裡巢狀一層函式用來接收物件屬性名,其他部分程式碼與正常使用sort方法相同. var arr = [ {name:'zopp',age:0}, {name:'gpp',age:18}, {name:'yjj',age:8} ]; functio
js 根據陣列中物件的某一個屬性值進行排序
var arr = [ {name:'zopp',age:0}, {name:'gpp',age:18}, {name:'yjj',age:8} ]; compare = (property) => { return function(a,b){
根據陣列中物件的某一個屬性值進行排序
ort方法接收一個函式作為引數,這裡巢狀一層函式用來接收物件屬性名,其他部分程式碼與正常使用sort方法相同 var arr = [ {name:'zopp',likeSum:6}, {name:'gpp',likeSum:6}, {name:'yjj',likeSum:6
根據陣列中物件的某個屬性值排序
➢ 排序函式 attr 排序的屬性 如number屬性 rev true表示升序排列,false降序排序 sortFun: function(attr,rev){ //第二個引數沒有傳遞 預設升序排列  
java中list裡面存放map,根據map中的某一個欄位進行排序
Java中list裡面存放map,根據map中的某一個欄位進行排序 例如: package com; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; impor
Java list裡面存放map,根據map中的某一個欄位進行排序 lambda
//lambda Collections.sort(list, (o1, o2) -> { String name1 = (String) o1.get("id"); String name2 = (String) o2.get("id"); return name2.
fastjson根據json陣列中物件的某個欄位進行排序
記錄一下 /** *@Author:vic *@Date:14:59 2018/11/30 *@Description: is_desc-false升序列 is_desc-true降序 */ public static String jsonArraySor
根據map中的key或者value值進行排序
1.根據key值進行排序import java.util.Comparator; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap;
js使用map過濾陣列中物件
$(function(){ var users=[ {"name":"nihao","age":20}, {"name":"liming","age":21}, {"name":"zhangsan","age":23}, {"name":"zhaosi",
對jsonarray中某個物件的某一個欄位進行排序
import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import com.alibaba.fastjson.JSON
陣列中和為某一個定值
#include<iostream> #include<vector> #include <algorithm> using namespace std;
java對HashMap中的key或者value值進行排序!
前段時間從csdn 上看到了一個問題。 有個網友解答的很巧妙。以下是問題原型,我對其中做了一些修改。java 可以按照 HashMap 中的 key 或者 value 來進行排序。import java.util.*; public class MapTest { pu
Mysql JSON欄位提取某一個屬性值的函式
mysql從5.7開始才支援JSON_EXTRACT等 JSON相關的函式, 專案裡用到的mysql是5.6的,需要提取JSON欄位裡某一個屬性值進行統計, 自己寫了一個笨的提取方法: CREATE DEFINER=`root`@`%` FUNCTION `jsonExtract`(`fieldName
怎麼對list裡面的資料的某一個欄位進行排序
集合類List存放的資料,預設是按照放入順序排序的。我們也可以對list中某一個元素進行排序。例如: package test.tool.gui.dbtool.util; import java
如何根據List中 物件的某一屬性排序,比如按照學生物件的年齡屬性排序。|Collections.max()|Collections.sort()
本文目錄 1.List相關 List 是有序的,即按照元素的新增順序排列的,如ArrayList、LinkedList。 List是可重複的,即能存入多條完全一樣的資料或物件。 2.如何取List中(基本型別)的最大值
js(2) javascript中物件、陣列、字串合併的方法
一、js中物件合併的方法1)第一種方法var a = { a : '1', b : '2' } var content = { c: '3', ...a } console.log(content) //content = {c: "3", a: "1", b: "
原聲JS中indexOf()方法在陣列中的應用一
定義和用法 indexOf() 方法可返回某個指定的字串值在字串中首次出現的位置。 提示和註釋 註釋:indexOf() 方法對大小寫敏感! 註釋:如果要檢索的字串值沒有出現,則該方法返回 -1。 註釋:字元位置是從 0 開
關於比較器,我們知道我們java陣列中可以使用一個方法:Array.sort(array);來進行排序
關於比較器,我們知道我們java陣列中可以使用一個方法:Array.sort(array);來進行排序,如果我們陣列中是放的基本資料型別,就可以直接比較大小排序,如果我們放的是物件的話,這樣排序就意義不大,需要我們自己進行相應的修改,得到我們想要的比較結果。 比如我們有三個學生,學生屬性有id,
用filter方法篩選陣列中的無效物件
要求:獲取陣列中包含a欄位的物件,不包含的去掉。 let arr = [{a:1,b:3},{c:4,d:4},{b:3,a:3}]; let res = arr.filter(function(item,index,arr){ return item.a }); console.