underscore学习笔记—对象函数/Objects(一)

写在前面:

1.5.2版本,计28个函数

1、keys(取属性)

_.keys(objects)

获取对象所有的属性名称

_.keys({one: 1, two: 2, three: 3});
=> ["one", "two", "three"]

2、values(取属性值)

_.values(objects)

返回对象所有的属性值

_.values({one: 1, two: 2, three: 3});
=> [1, 2, 3]

3、pairs(返回关联数组)

_.pairs(object)

把一个对象转变为一个[key, value]形式的数组

_.pairs({one: 1, two: 2, three: 3});
=> [["one", 1], ["two", 2], ["three", 3]]

4、invert(调换对象键值对)

_.invert(object)
返回一个对换键值对后的对象副本

_.invert({Moe: "Moses", Larry: "Louis", Curly: "Jerome"});
=> {Moses: "Moe", Louis: "Larry", Jerome: "Curly"};

5、functions(返回对象里所有方法名)

_.functions(object)

返回一个对象里所有的方法名,而且是已经排序的

_.functions(_);
=> ["all", "any", "bind", "bindAll", "clone", "compact", "compose" ...

6、extent(扩展对象)

_.extend(destination, *sources)

赋值sources对象中的所有属性到destination上,如有重复,后者覆盖前者

_.extend({name: 'moe'}, {age: 50});
=> {name: 'moe', age: 50}

7、pick(选择部分对象)

_.pick(object, *keys)

返回一个object副本,只过滤出keys参数指定的属性值

_.pick({name: 'moe', age: 50, userid: 'moe1'}, 'name', 'age');
=> {name: 'moe', age: 50}

8、omit(选择部分对象,与pick相反)

_.omit(object, *keys)

返回一个副本,只过滤出出去keys参数指定的属性值

_.omit({name: 'moe', age: 50, userid: 'moe1'}, 'userid');
=> {name: 'moe', age: 50}

9、defaults(填充undefined属性)

_.defaults(object, *defaults)

用defaults对象填充object中undefined属性,并返回这个对象,一旦这个属性存在,在使用defaults方法不起作用

var iceCream = {flavor: "chocolate"};
_.defaults(iceCream, {flavor: "vanilla", sprinkles: "lots"});
=> {flavor: "chocolate", sprinkles: "lots"}

10、clone(浅复制)

_.clone(object)

一个对对象的浅复制,任何嵌套的对象或者数组通过引用拷贝,不会复制

_.clone({name: 'moe'});
=> {name: 'moe'};
11、tap

12、has(判断对象是否含有指定键)

_.has(object, key)

对象是否包含给定的键吗?等同于object.hasOwnProperty(key),但是使用hasOwnProperty 函数的一个安全引用,以防意外覆盖

_.has({a: 1, b: 2, c: 3}, "b");
=> true

13、isEqual(优化深度比较)

_.isEqual(object, other)

执行两个对象间的优化深度比较,确定他们是否应该被视为同等

var moe   = {name: 'moe', luckyNumbers: [13, 27, 34]};
var clone = {name: 'moe', luckyNumbers: [13, 27, 34]};
moe == clone;
=> false
_.isEqual(moe, clone);
=> true

14、isEmpty(object)(判断对象是否为空)

_.isEmpty(objctt)

若对象不包含任何值,则返回true

_.isEmpty([1, 2, 3]);
=> false
_.isEmpty({});
=> true


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值