判断一个对象数组是否包含某个对象,可以用underscore的方法判断,代码简洁易懂。如contains、indexOf、find、findWhere,需要说明的是contains和indexOf使用===检测。简单实例如下:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <meta name="author" content="@my_coder"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> <title>underscore</title> </head> <body> <script type="text/javascript" src="underscore.js"></script> <script> var testList = []; testList.push({name:'zhangshan',age:18}); testList.push({name:'lisi',age:28}); testList.push({name:'wangwu',age:38}); testList.push({name:'xiaomazi',age:88}); //var res1 = _.contains(testList, {name:'zhangshan',age:18}); var res1 = _.indexOf(testList, {name:'zhangshan',age:18}); console.log("res1:" + res1); //res1:-1 var t = {name:'zhangshan0',age:16}; var res4 = _.findWhere(testList, t); console.log("res4:" + res4); //res4:undefined if(!res4) { testList.push(t); } console.log(testList); var testList2 = []; var obj1 = {name:'zhangshan',age:18}; var obj2 = {name:'lisi',age:28}; var obj3 = {name:'wangwu',age:38}; var obj4 = {name:'xiaomazi',age:88}; testList2.push(obj1); testList2.push(obj2); testList2.push(obj3); testList2.push(obj4); //var res2 = _.contains(testList2, obj1); var res2 = _.indexOf(testList2, obj1); console.log("res2:" + res2); //res2:0 var res3 = _.find(testList, function(obj){ return obj.name == 'zhangshan'; }); console.log("res3:" + res3); //res3:[object Object] </script> </body> </html>
Underscore.js中文文档地址:http://www.css88.com/doc/underscore/
相关推荐
underscore广泛应用于Web开发,尤其是在单页应用(SPA)中。它可以用来简化数据处理,如遍历、过滤和分组数据;在处理DOM操作时,它可以协助组织和控制代码;在处理异步操作时,它的延迟和节流函数能有效防止性能...
《深入理解Underscore.js 1.4.3:核心概念与实践》 Underscore.js,一个轻量级的JavaScript实用库,以其强大的工具集和对JavaScript原生功能的补充,深受开发者喜爱。在本篇文章中,我们将深入探讨Underscore 1.4.3...
《深入剖析Underscore.js:源码学习指南》 Underscore.js,作为一个轻量级的JavaScript实用库,为开发者提供了丰富的函数式编程工具,帮助我们处理日常开发中的各种问题。其简洁的代码和强大的功能使得它在...
- `_.map(array, iterator, [context])`:对数组中的每个元素应用迭代器函数,返回新数组。 - `_.reduce(array, iterator, [memo], [context])`:将数组归约成单个值,类似于JavaScript的`Array.prototype.reduce`...
Backbone.js 和 Underscore.js 是两个在JavaScript开发中广泛使用的库,它们为构建复杂的Web应用程序提供了强大的工具。这两个库都是基于jQuery库,其中jQuery-1.10.2.js是jQuery的一个版本,它为DOM操作、事件处理...
《underscore+AngularJS的中文API》是一份非常实用的开发者参考资料,它包含了两个热门JavaScript库——underscore和AngularJS的中文API文档。这份文档以CHM(Microsoft编写的帮助文件)格式提供,方便开发者离线...
本篇文章将围绕“前端项目-underscore-contrib.zip”进行详细解析,帮助开发者深入理解其背后的原理和应用场景,以及如何在实际项目中有效地运用。 首先,"underscore-contrib"是基于JavaScript的轻量级库...
Backbone.js 和 Underscore.js 是两个非常重要的 JavaScript 库,尤其在开发复杂前端应用时。Backbone.js 提供了一套 MVC(Model-View-Controller)架构,帮助开发者组织和管理代码,使其更加结构化。而 Underscore....
《underscore-1.8.3.js 源码解读与系列文章分析》 在JavaScript的世界里,underscore.js是一个非常重要的工具库,它提供了一系列实用的函数,帮助开发者更高效地处理数组、对象、函数等数据结构。这个压缩包包含的...
Underscore.js是一个轻量级的JavaScript库,它提供...无论是在日常开发还是在构建复杂的JavaScript应用中,Underscore.js都是一个不可或缺的辅助库。通过深入理解和熟练运用它的API,开发者可以提高代码的质量和效率。
这些细节使得它在实际应用中更加健壮和可靠。 总的来说,underscore-deep-extend是前端开发中处理复杂数据结构合并的重要工具。它提高了代码的可维护性和效率,特别是在处理包含嵌套对象和数组的数据时。如果你经常...
了解并熟练使用Underscore.js,可以帮助开发者更好地理解和应用函数式编程理念,写出更简洁、可读性强且易于维护的JavaScript代码。通过对压缩包中的"underscore-master"文件的探索,你可以看到源码实现,学习如何将...
Backbone 为复杂Javascript应用程序提供模型(models)、集合(collections)、视图(views)的结构。其中模型用于绑定键值数据和自定义事件;集合附有可枚举函数的丰富API; 视图可以声明事件处理函数,并通过RESTful ...
在Underscore中,数组和对象的处理方法有着广泛的应用,例如,`map`可以用于创建新的数组,每个元素是原数组元素经过函数处理后的结果;`reduce`(也称为fold)则可以将数组元素聚合为单一值,常用于计算总和、平均...
本文将深入探讨 underscore.js 的设计理念、核心功能及实际应用。 首先,我们来了解 underscore.js 的诞生背景。在JavaScript开发中,由于语言本身的特性,有时会遇到诸如遍历数组、检查对象属性、创建延时执行的...
在本文中,我们将深入探讨Underscore.js的模板功能及其应用。 Underscore.js的模板引擎允许开发者创建可复用的HTML片段,这些片段可以嵌入JavaScript表达式,然后根据给定的数据进行动态渲染。这极大地简化了数据...
用法在您的Express应用设置中... // To use the default 'tmpl' extension...require ( 'underscore-express' ) ( app ) ;// Or set your own...require ( 'underscore-express' ) ( app , 'ut' ) ; ...就是这样!...
在JavaScript的世界里,Backbone.js和Underscore.js是两个非常重要的库,它们极大地提升了Web应用的开发效率和代码组织性。Backbone.js是一个轻量级的MVC(Model-View-Controller)框架,它提供了数据模型、视图、...