可能感兴趣的代码

111 阅读1分钟

日常的积累

突然看到es6中的set对象去重,想要记录下来分享给大家,就有了这篇文章。将来可能会补充更多有趣实用的代码。

Es6中的set对象

Set 对象存储的值总是唯一的

  • 对象之间引用不同不恒等 (特殊)
  • NaN 与 NaN 是不恒等的,但是在 Set 中只能存一个。
let mySet = new Set();
mySet.add(5); 
mySet.add(5); 
mySet.add("some text"); 
var o = {a: 1, b: 2}; 
mySet.add(o); 
mySet.add({a: 1, b: 2}); // Set(4) {5, "some text", {…}, {…}} 
// 体现了对象之间引用不同不恒等,即使值相同,Set 也能存储

因此可以使用set的唯一性进行数组的去重

var mySet = new Set([1, 2, 3, 4, 4]);
console.log([...mySet])   //通过[...] 将对象转数组 [1,2,3,4]

或者进行交并补

var a = new Set([1, 2, 3]); 
var b = new Set([4, 3, 2]); 
var union = new Set([...a, ...b]); // {1, 2, 3, 4}

Es6中的模板字符串

var str1 = '天才在左'
var str2 = '疯子在右'
var str = str1 + ',' + str2  // Es5 写法
let str = `${str1},${str2}`  // Es6 写法 这里用的是反引号   看着没什么两样,就方便了一点
console.log(str)
真正的大招 我们项目中可能会用到的
let str = `
  <div>
    <p>天才在左,</p>
    <p>疯子在右</p>
  </div>
`
document.write(str)
console.log(str) // 使用起来非常方便
个人vue经历
const renderTooltip = (axisValueLabel: string, params: Array<any>) => {
  let showCard = ''
  for (let i = 0; i < params.length; i++) {
    showCard += `
        <div>
        <p style="margin: 0;">
          <span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:${
            params[i].color
          };"></span>
          ${params[i].seriesName}:
          <span style="float:right;margin-left:20px;font-size:14px;color:#666;font-weight:900">
           ${params[i].value === 0.1 ? 0 : params[i].value}
          </span>
        </p>
        </div>
    `
  }
  return `<p style="margin: 0;margin-bottom: 4px">${axisValueLabel}:</p>` + showCard
}

v-model的使用

2021-12-8 又到了补充的时候了,一直知道 v-model 是 v-bind 和 v-on 的结合,但是由于一直直接使用v-model 真正的应用还真没使用过,今天终于碰到了。

先复习一下v-model
<input v-model="inputValue"> 
相当于 
<input v-bind:value="inputValue" v-on:input="inputValue = $event.target.value">
我自己封装的一个搜索组件(父组件)
<search-box class="search-box" v-model.trim="keyword"></search-box>
自己写的一个搜索框(子组件)
<input
    type="text"
    class="search_input"
    autofocus
    :value="value"                                   // 接收 props传递的value
    @input="$emit('input', $event.target.value)"     // $emit 发射input事件
    @keydown.enter="keydownEnter"
/>

......待补充