91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

JavaScript對JSON數據進行排序和搜索

發布時間:2020-10-12 03:25:35 來源:腳本之家 閱讀:155 作者:ma125120 欄目:web開發

在使用AJAX獲取數據時后臺返回的大部分都是json數據,在進行程序開發時有時會需要直接對這些json數據在js程序中再進行一定的操作,如排序、搜索等,而不是通過AJAX請求由數據庫進行這些操作。

今天我就教給大家如何使用數組的方法來實現這些操作:

/*假設json就是后臺傳過來的json數據*/
 var test=[
  {
   price:15,
   id:1,
   description:'這是第一個數據'
  },{
   price:30,
   id:3,
   description:'這是第二個數據'
  },{
   price:5,
   id:2,
   description:'這是第三個數據'
  }
 ];

此時可以通過數組的sort方法對json數據進行排序,我們可以將其封裝為一個函數,方便操作。

 var u=window.u||{};
 u.isArray=function(o) {
  return typeof o=='object'&&Object.prototype.toString.call(o).slice(8,-1).toLowerCase()=='array';
 };
 /**
  * 對json數據按照一定規則進行排列
  * @param {array} array [需要排序的數組]
  * @param {string} type [排序時所依據的字段]
  * @param {boolean} asc  [可選參數,默認降序,設置為true即為升序]
  * @return {none}    [無返回值]
  */
 u.sort=function(array,type,asc) {
  if(!u.isArray(array)) throw new Error('第一個參數必須是數組類型');
  var asc=asc||false;
  array.sort(function(a,b) {
   if(!asc) {
    return parseFloat(b[type])-parseFloat(a[type]);
   } else {
    return parseFloat(a[type])-parseFloat(b[type]);
   }
  });
 };

也可以通過數組的filter方法對json數據進行搜索,我們可以將其封裝為一個函數,方便操作。

/**
  * 對json數組進行搜索
  * @param {array} array [需要排序的數組]
  * @param {string} type [需要檢索的字段]
  * @param {string} value [字段中應包含的值]
  * @return {array}    [包含指定信息的數組]
  */
 u.search=function(array,type,value) {
  if(!u.isArray(array)) throw new Error('第一個參數必須是數組類型');
  var arr=[];
  arr=array.filter(function(a) { 
   return a[type].toString().indexOf(value)!=-1;
  });
  return arr;
 };

可使用下面的方法進行測試:

u.sort(test,'price');
 var s=u.search(test,'description',"一");
 console.table(test);
 console.table(s);

測試結果如下圖所示:

(index) price id description
0 30 3 “這是第二個數據”
1 15 1 “這是第一個數據”
2 5 2 “這是第三個數據”

(index) price id description
0 15 1 “這是第一個數據”

總結

以上所述是小編給大家介紹的JavaScript對JSON數據進行排序和搜索,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

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

AI

阳朔县| 连山| 濮阳县| 来宾市| 镇沅| 儋州市| 临夏市| 泰州市| 巴中市| 叶城县| 蓬溪县| 拉萨市| 察隅县| 崇文区| 肥西县| 孝昌县| 怀柔区| 榆林市| 乳山市| 福建省| 闻喜县| 五原县| 鹤庆县| 浙江省| 黑水县| 彰武县| 宜城市| 北票市| 长丰县| 阿瓦提县| 芦山县| 澄城县| 牡丹江市| 荣昌县| 兰州市| 周口市| 千阳县| 涪陵区| 寿光市| 宜良县| 西安市|