這篇文章給大家介紹基于js如何從一組數(shù)據(jù)中找到指定的單條數(shù)據(jù),非常實(shí)用,實(shí)現(xiàn)方案也很簡(jiǎn)單,需要的朋友可以參考下
下面小編給大家介紹基于js如何從一組數(shù)據(jù)中找到指定的單條數(shù)據(jù)。具體方法如下所示:
在一般情況下,我們會(huì)要求后端在列表的時(shí)候輸出一堆列表的JSON數(shù)據(jù)給我們,然后我們把這堆數(shù)據(jù)循環(huán),就能在前端上顯示列表了.
而我們?cè)趦?nèi)容頁(yè)的時(shí)候,則要求輸出一個(gè)內(nèi)容頁(yè)的JSON數(shù)據(jù)給我們,我們就可以做內(nèi)容頁(yè)了.
但是,有時(shí)候,數(shù)據(jù)并不是特別復(fù)雜,我們可能需要從列表的數(shù)據(jù)中指定其中的單條數(shù)據(jù).怎么做呢?
標(biāo)準(zhǔn)答案,find方法
var json = [{"id":1,"name":"張三"},{"id":2,"name":"李四"},{"id":3,"name":"王五"}];
如上所示,json是一個(gè)典型的列表數(shù)據(jù).我如何指定找到ID=1的這條數(shù)據(jù)呢?
var data = json.find(function(e){return e.id == 1});
console.log(data);
通過(guò)這樣的回調(diào)函數(shù),就能找到列表數(shù)據(jù)中的單條數(shù)據(jù)了.
這段代碼用了一個(gè)find方法,并且使用了一個(gè)回調(diào)函數(shù).很優(yōu)雅的解決了這個(gè)問(wèn)題.下面,我將給出我的原始方案.
我的方案,for循環(huán)
上面的find方法是我通過(guò)搜索引擎找到的解決方法,點(diǎn)擊此處: Array.prototype.find() .而我的原始解決方案如下:
var json = [{"id":1,"name":"張三"},{"id":2,"name":"李四"},{"id":3,"name":"王五"}];
var data = getJsonById(2,json);
function getJsonById(id,data){
for (var i = 0; i < data.length; i++) {
if (data[i].id==id) {
return data[i];
}
};
}
原理非常簡(jiǎn)單.通過(guò)循環(huán)遍歷,找到和條件一致的內(nèi)容,然后返回它即可.
以上內(nèi)容是小編給大家介紹的JS從一組數(shù)據(jù)中找到指定的單條數(shù)據(jù)的方法,希望對(duì)大家有所幫助!