Heim > Web-Frontend > js-Tutorial > Hauptteil

Detailliertes Beispiel dafür, wie JavaScript JSON-Daten sortiert und durchsucht

黄舟
Freigeben: 2017-07-24 15:54:17
Original
1803 Leute haben es durchsucht

Heute werde ich Ihnen beibringen, wie Sie Array-Methoden verwenden, um JSON-Datensortierungs- und Suchfunktionen zu implementieren. Spezifische Beispielcodes finden Sie in diesem Artikel.

Bei der Verwendung von AJAX zum Abrufen von Daten werden die meisten Daten zurückgegeben Im Hintergrund befinden sich JSON-Daten. Bei der Entwicklung von Programmen ist es manchmal erforderlich, bestimmte Vorgänge an diesen JSON-Daten direkt im JS-Programm auszuführen, z. B. Sortieren, Suchen usw., anstatt diese Vorgänge über AJAX-Anforderungen an der Datenbank auszuführen .

Heute werde ich Ihnen beibringen, wie Sie Array-Methoden verwenden, um diese Operationen zu implementieren:


/*假设json就是后台传过来的json数据*/
 var test=[
  {
   price:15,
   id:1,
   description:'这是第一个数据'
  },{
   price:30,
   id:3,
   description:'这是第二个数据'
  },{
   price:5,
   id:2,
   description:'这是第三个数据'
  }
 ];
Nach dem Login kopieren

Zu diesem Zeitpunkt können Sie die Sortiermethode von verwenden Das Array zum Sortieren der JSON-Daten Zum Sortieren können wir es zur bequemen Bedienung in eine Funktion kapseln.


 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]);
   }
  });
 };
Nach dem Login kopieren

Sie können JSON-Daten auch über die Filtermethode des Arrays durchsuchen. Wir können sie zur einfachen Bedienung in eine Funktion kapseln.


/**
  * 对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;
 };
Nach dem Login kopieren

Sie können die folgende Methode zum Testen verwenden:


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

Die Testergebnisse sind wie folgt unten gezeigt:

(Index) Preis ID Beschreibung
0 30 3 "Dies sind die zweiten Daten"
1 15 1 „Dies sind die ersten Daten“
2 5 2 „这是第三个数据“
(index) price id Beschreibung
(index) price id description
0 15 1 “这是第一个数据”

015

1“这是第一个数据“总结

Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel dafür, wie JavaScript JSON-Daten sortiert und durchsucht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!