瞎写 去重 对象去重 新字符串方法

数组去重数组

            //数组去重
            distinct(data) {
                let arr = data
                let result = []
                let obj = {}

                for (let i of arr) {
                    if (!obj[i]) {
                        result.push(i)
                        obj[i] = 1
                    }
                }
                return result
            },

对象去重函数

            //数组对象去重
            arrObjDel_repeat(data,someKey){
                let arr = data;
                let result = [];
                let obj = {};
                for(let i =0; i<arr.length; i++){
                    if(!obj[arr[i][someKey]]){
                        result.push(arr[i]);
                        obj[arr[i][someKey]] = true;
                    }
                }
                return result;
            }

字符串新方法spa

String.raw({ raw: 'test' }, 0, 1, 2);
// 't0e1s2t'

// 等同于
String.raw({ raw: ['t','e','s','t'] }, 0, 1, 2);
做为函数,String.raw()的代码实现基本以下。

String.raw = function (strings, ...values) {
  let output = '';
  let index;
  for (index = 0; index < values.length; index++) {
    output += strings.raw[index] + values[index];
  }

  output += strings.raw[index]
  return output;
}