2. 从对象中随机取 x 条不重复的数据
- /*
- 随机从对象obj中取x条
- */
- function myRand() {
- var S = KISSY;
- var obj = { '01': {
- name: 'a'
- },
- '02': {
- name: 'b'
- },
- '03': {
- name: 'c'
- },
- '04': {
- name: 'd'
- },
- '05': {
- name: 'e'
- },
- '06': {
- name: 'f'
- },
- '07': {
- name: 'g'
- },
- '08': {
- name: 'h'
- },
- '09': {
- name: 'i'
- },
- '10': {
- name: 'g'
- }
- };
- var arr = []; S.each(obj,
- function(v, k) { arr.push(k);
- }); //随机取3个
- var newArr = myRand(arr, 3); S.each(newArr,
- function(b) { console.log(obj[b]);
- })
- };
3. 去除数组的重复项
- /*
- 去除数组的重复项
- */
- function uniqArr(arr){
- function toObject(a) {
- var o = {};
- for (var i=0, j=a.length; i<j; i=i+1) {
- o[a[i]] = true;
- }
- return o;
- };
- function keys(o) {
- var a=[], i;
- for (i in o) {
- if (o.hasOwnProperty(i)) { // 这里, YUI源码中是lang.hasOwnProperty(o, i)
- a.push(i);
- }
- }
- return a;
- };
- return keys(toObject(arr));
- }
来源: