关闭

javascript 从一组数据中找到指定的单条数据的方法 by FungLeo

标签: javascriptjson数据
4870人阅读 评论(0) 收藏 举报
分类:

从一组数据中找到指定的单条数据的方法

在一般情况下,我们会要求后端在列表的时候输出一堆列表的JSON数据给我们,然后我们把这堆数据循环,就能在前端上显示列表了.

而我们在内容页的时候,则要求输出一个内容页的JSON数据给我们,我们就可以做内容页了.

但是,有时候,数据并不是特别复杂,我们可能需要从列表的数据中指定其中的单条数据.怎么做呢?

标准答案,find方法

var json = [{"id":1,"name":"张三"},{"id":2,"name":"李四"},{"id":3,"name":"王五"}];

如上所示,json是一个典型的列表数据.我如何指定找到ID=1的这条数据呢?

var data = json.find(function(e){return e.id == 1});
console.log(data);

通过这样的回调函数,就能找到列表数据中的单条数据了.

这段代码用了一个find方法,并且使用了一个回调函数.很优雅的解决了这个问题.下面,我将给出我的原始方案.

我的方案,for循环

上面的find方法是我通过搜索引擎找到的解决方法,点击此处: 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];
        }
    };
}

原理非常简单.通过循环遍历,找到和条件一致的内容,然后返回它即可.

在实际的项目运用中,还是用标准答案比较好.但是,我的方案可能更加有助于你学习理解这段内容哦!

本文由FungLeo原创,允许转载.但转载必须署名作者,并保留文章首发链接.否则将追究法律责任.
首发地址:http://blog.csdn.net/FungLeo/article/details/51555510

1
0
查看评论

javascript从一组数据中找到指定的单条数据的方法

从一组数据中找到指定的单条数据的方法 在一般情况下,我们会要求后端在列表的时候输出一堆列表的JSON数据给我们,然后我们把这堆数据循环,就能在前端上显示列表了. 而我们在内容页的时候,则要求输出一个内容页的JSON数据给我们,我们就可以做内容页了. 但是,有时候,数据并不是特别复杂...
  • u010682330
  • u010682330
  • 2016-06-01 17:27
  • 166

典型的Top K算法_找出一个数组里面前K个最大数...或找出1亿个浮点数中最大的10000个...一个文本文件,找出前10个经常出现的词,但这次文件比较长,说是上亿行或十亿行,总之无法一次读入内存,

Top K 算法详解 应用场景:         搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。      ...
  • boo12355
  • boo12355
  • 2013-09-17 22:45
  • 9319

Hibernate中对单表操作----查询单个记录

(1)类名 a=(类)session.get(类名.class,表中的主键) ; //从表中的主键获取表中相应列的成员 类名 a=(类)session.load(类名.class,表中的主键); get方法:在不考虑缓存的情况下,get方法会在调用之后立刻向数据库发出sql语句,...
  • G1094044596
  • G1094044596
  • 2016-09-08 14:13
  • 1054

C 语言 键盘输入一组数据,两种方式排序输出。

1. 自定义一个函数,将三个数字按照由大到小或者有小到大的顺序排列并且输出。  要求:在main函数中完成三个数字的输入,调用自定义的函数选择排序方式,并完成三个数字的排列和输出  2. 自定义一个函数,将一组从键盘接收到的数字按照由大到小或者有小到大的顺...
  • Joycecsdn
  • Joycecsdn
  • 2014-12-03 23:00
  • 1575

读取单条json数据代码

public class HD_zan_post {  /**   *   * @param url 网上的地址   * @param login_user 传递的用户名   * @param now_userid 传递的用户id &#...
  • as425017946
  • as425017946
  • 2016-02-16 18:14
  • 199

PHP查询数据库数据(单条查询)

查询员工        $db = new MySQLi("localhost","root","123456","study");  $tj = " ...
  • qq_34838522
  • qq_34838522
  • 2017-12-20 22:03
  • 64

MyBatis插入单条数据

MyBatis插入单条数据
  • leisure_life
  • leisure_life
  • 2017-05-22 21:32
  • 275

java从数据库获取单个对象或对象集合的简单工具类

开发中在不用数据库的情况下操作数据库,比如说对数据库的增删改查,每次都重新撸一遍重复的代码,那样就会很麻烦,这里就给安利一个很简单的工具类来对数据库进行读写操作,当然并不能涵盖所有的功能,说了,只是很简单的操作数据库,当然你可以直接使用框架来操作,那样更好。。。话不多说,直接上代码。。。 publi...
  • FlyingZhLunasea
  • FlyingZhLunasea
  • 2017-07-25 15:53
  • 576

检索出 IList<T> 或 List<T>中的不重复数据 Distinct()

http://www.soaspx.com/dotnet/csharp/csharp_20130513_10318.html Distinct()方法在MSDN中的示例 public class Product { public string Name { get; set;...
  • mituan1234567
  • mituan1234567
  • 2015-01-14 17:52
  • 574

oracle存储过程一(返回单条记录的值)

最近在使用java验证excel表单元格的信息,数据量非常大,而且验证的规则比较复杂,如果单纯使用程序的验证的话,效率将非常低,考虑到oracle存储过程是可编译的,每次编译之后都会将数据放入高速缓存当中,下次再取,速度将非常的快。之前并没有接触到oracle的存储过程,所以也花了几天的时间去研究了...
  • shehun11
  • shehun11
  • 2014-10-10 09:33
  • 1000
    个人资料
    • 访问:1217542次
    • 积分:12754
    • 等级:
    • 排名:第1298名
    • 原创:214篇
    • 转载:39篇
    • 译文:1篇
    • 评论:927条
    站内搜索
    博客专栏
    文章分类
    友情链接
    最新评论