前端开发经常需要处理对象,而在 Ember.js 框架中,对象处理是非常常见的任务。ember-object-utils 是一个专门为 Ember.js 框架设计的 npm 包,提供了许多方便的对象处理工具,本文将介绍该 npm 包的使用方法。
安装
使用 npm 进行安装:
npm install ember-object-utils
之后在 Ember.js 项目中引入:
import ObjectUtils from 'ember-object-utils';
实用工具
ObjectUtils.assign()
与 ES6 的 Object.assign()
方法类似,将多个对象合并到一个对象中。和 Object.assign()
不同的是,ObjectUtils.assign()
可以合并 Ember.js 中的 computed
和 observer
。
-- -------------------- ---- ------- ----- ------- - - ----- ------- ---- -- -- ----- ------- - - ------- ------ -- ----- ------- - -------------------- ------ ------------------- - ------ -------- ------------ -- ------------ ----- ------------ - ---------------------- -------- -------- --------- ------------------------------- -- ---- -------------------------------- -- ------- ----------
ObjectUtils.pick()
选出一个对象的指定属性,返回一个新对象。
const object = { name: 'Jack', age: 22, gender: 'Male' }; const newObject = ObjectUtils.pick(object, ['name', 'age']); console.log(newObject); // { name: 'Jack', age: 22 }
ObjectUtils.omit()
去掉一个对象的指定属性,返回一个新对象。
const object = { name: 'Jack', age: 22, gender: 'Male' }; const newObject = ObjectUtils.omit(object, ['name', 'age']); console.log(newObject); // { gender: 'Male' }
ObjectUtils.isObject()
判断一个值是否为对象。和 typeof
不同的是,对于 null
返回 false
。
console.log(ObjectUtils.isObject({})); // true console.log(ObjectUtils.isObject([])); // true console.log(ObjectUtils.isObject(null)); // false
ObjectUtils.mergeDeep()
深度合并多个对象到一个对象中。和 ObjectUtils.assign()
类似,但可以处理子对象的合并。
-- -------------------- ---- ------- ----- ------- - - ----- ------- -------- - ----- ----------- -------- ------- - -- ----- ------- - - ------- ------- -------- - ----- --------- - -- ----- ------------ - ------------------------- -------- --------- --------------------------------------- -- -------
ObjectUtils.getObject()
根据一个数组和一个值,从对象中获取嵌套属性的值。
-- -------------------- ---- ------- ----- ------ - - ------- - ----- - ----- ------- ---- -- - - -- ----------------------------------------- ---------- ------- ---------- -- ----
ObjectUtils.setObject()
根据一个数组和一个值,设置对象中的嵌套属性的值。
-- -------------------- ---- ------- ----- ------ - - ------- - ----- - ----- ------- ---- -- - - -- ----------------------------- ---------- ------- ------- ---- ------------------------------------ -- --
ObjectUtils.isEmpty()
判断一个对象是否为空对象。
console.log(ObjectUtils.isEmpty({})); // true console.log(ObjectUtils.isEmpty({ name: 'Jack' })); // false
结语
ember-object-utils 提供了许多方便的对象处理工具,在开发 Ember.js 项目时可以大大提高效率。本文介绍了该 npm 包的使用方法,掌握这些工具对于 Javascript 开发者来说是非常有价值的。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066e14a563576b7b1ec9db