underscore--之Objects篇

1,获取对象所有属性名称
_.keys({one : 1, two : 2, three : 3});
=> ["one", "two", "three"]
2,获取对象的所有值
_.values({one : 1, two : 2, three : 3});
=> [1, 2, 3]
3,把对象转换成对数组(_.object的反操作) 
_.pairs({one: 1, two: 2, three: 3});
=> [["one", 1], ["two", 2], ["three", 3]]
4,对象的键值对换,但是,键和值必须都是字符串
_.invert({Moe: "Moses", Larry: "Louis", Curly: "Jerome"});
=> {Moses: "Moe", Louis: "Larry", Jerome: "Curly"};
5,返回对象中函数的名称
var obj = {a:function(){},b:function(){},c:function(){}}   _.functions(obj);
=>["a", "b", "c"]
6,_.extend({name : 'moe'}, {age : 50});
=> {name : 'moe', age : 50}
7,过滤属性,返回keys相对应的属性(返回的是一个对象)
ar obj = {a:function(){},b:10,c:"aaa"};  _.pick(obj,'a','c');
=>{a:function(){},c:"aaa"
8,过滤属性,与7相反,把keys对应的属性除掉
ar obj = {a:function(){},b:10,c:"aaa"};  _.omit(obj,'a','c');
=>{b:10}
9,用defaultsd对象的属性去填充object中缺少的属性,object的原有属性值不会改变
var iceCream = {flavor : "chocolate"};
_.defaults(iceCream, {flavor : "vanilla", sprinkles : "lots"});
=> {flavor : "chocolate", sprinkles : "lots"}  请注意flavor的值 ,没有改变
10,对象浅拷贝,拷贝的是对像的引用
_.clone({name : 'moe'});     => {name : 'moe'};
11,两个对象深度比较,确定他们是否应该视为相等
var moe   = {name : 'moe', luckyNumbers : [13, 27, 34]};
var clone = {name : 'moe', luckyNumbers : [13, 27, 34]};
moe == clone   =>false     _.isEqual(moe,clone)  =>true

类型判断:
12,isEmpty_.isEmpty(object)  如果object 不包含值,返回true。
13,isElement_.isElement(object)  如果object是一个DOM元素,返回true
14,isArray_.isArray(object)  如果object是一个数组,返回true。
15,isObject_.isObject(value)  如果object是一个对象,返回true。需要注意的是JavaScript数组和函数是对象,字符串和数字不是。
16,isArguments     isFunction  isString  isNumber  isFinite (是否有限)
isBoolean  isDate  isRegExp  isNull  isUndefined
isNaN(和原生的isNaN 函数不一样,如果变量是undefined,原生的isNaN 函数也会返回 true。)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值