未加星标

每天三个API――uniq、uniqBy、alias

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

继续Ember.js API的学习。昨天我们学习了oneWay、sort、sum,今天我们学习的是uniq、uniqBy、alias。

uniq

官方API介绍

uniq 返回去掉重复元素的新数组。请看下面的例子:

let Hamster = Ember.Object.extend({ uniqueFruits: Ember.computed.uniq('fruits') }); let hamster = Hamster.create({ fruits: [ 'banana', 'grape', 'kale', 'banana' ] }); hamster.get('uniqueFruits'); // ['banana', 'grape', 'kale']

需要注意的是并不是直接去掉原来数组的重复元素,而是返回一个新的不包括重复元素的数组。

uniqBy

uniqBy 方法与 uniq 方法类似,不同的是 uniqBy 方法根据某个属性值去重。

官方API介绍

let Hamster = Ember.Object.extend({ uniqueFruits: Ember.computed.uniqBy('fruits', 'id') }); let hamster = Hamster.create({ fruits: [ { id: 1, 'banana' }, { id: 2, 'grape' }, { id: 3, 'peach' }, { id: 1, 'banana' } ] }); hamster.get('uniqueFruits'); // [ { id: 1, 'banana' }, { id: 2, 'grape' }, { id: 3, 'peach' }]

看代码 uniqBy('fruits', 'id') ,根据属性 id 值去掉数组 fruits 重复数据。

alias

alias 方法用于定义计算属性别名。与昨天的 oneWay 方法有点相似。

官方API介绍

let Person = Ember.Object.extend({ name: 'Alex Matchneer', nomen: Ember.computed.alias('name') }); let alex = Person.create(); alex.get('nomen'); // 'Alex Matchneer' alex.get('name'); // 'Alex Matchneer' alex.set('nomen', [email protected]'); alex.get('name'); // [email protected]'

代码 nomen: Ember.computed.alias('name') 定义了属性 nomen 依赖于属性 name ,并且是双向绑定的。如果要数组单项绑定请使用 oneWay 方法

这三个API相对来说不是非常常用。还是那句话,了解到有这几个方法,使用的时候查文档就是了。

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: 数据
分页:12
转载请注明
本文标题:每天三个API――uniq、uniqBy、alias
本站链接:http://www.codesec.net/view/482599.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(24)