前端小tip

  1. 对象属性带’ - '的,名字要加单引号
var vm = new Vue({
      el: '#app',
      data: {
        styleObj1: { color: 'red', 'font-weight': 200 },  // font-weight加上''
        styleObj2: { 'font-style': 'italic' }
      },
      methods: {}
    });
  1. vue中使用v-for迭代数字,从1开始
  <div id="app">
    <!-- in 后面我们放过  普通数组,对象数组,对象, 还可以放数字 -->
    <!-- 注意:如果使用 v-for 迭代数字的话,前面的 count 值从 1 开始 -->
    <p v-for="count in 10">这是第 {{ count }} 次循环</p>
  </div>

  <script>
    // 创建 Vue 实例,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {},
      methods: {}
    });
  </script>
  1. v-for 循环注意事项
    <!-- 注意: v-for 循环的时候,key 属性只能使用 number获取string -->
    <!-- 注意: key 在使用的时候,必须使用 v-bind 属性绑定的形式,指定 key 的值 -->
    <!-- 在组件中,使用v-for循环的时候,或者在一些特殊情况中,如果 v-for 有问题,必须 在使用 v-for 的同时,指定 唯一的 字符串/数字 类型 :key 值 -->
    <p v-for="item in list" :key="item.id">
      <input type="checkbox">{{item.id}} --- {{item.name}}
    </p>

  <script>
    // 创建 Vue 实例,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {
        id: '',
        name: '',
        list: [
          { id: 1, name: '李斯' },
          { id: 2, name: '嬴政' },
          { id: 3, name: '赵高' },
          { id: 4, name: '韩非' },
          { id: 5, name: '荀子' }
        ]
      },
      methods: {
        add() { // 添加方法
          this.list.unshift({ id: this.id, name: this.name })
        }
      }
    });
  </script>

算法

1. Array.from()
将一个类数组对象或者可遍历对象转换成一个真正的数组
类数组对象,最基本的要求就是具有length属性的对象。

  • 将类数组对象转换为真正数组
let arrayLike = {
    0: 'tom', 
    1: '65',
    2: '男',
    3: ['jane','john','Mary'],
    'length': 4
}
let arr = Array.from(arrayLike)
console.log(arr) // ['tom','65','男',['jane','john','Mary']]

如果将上面代码中length属性去掉,答案会是一个长度为0的空数组。
而如果只有length属性,但对象属性名不是数字类型,则会返回4个undefined

  • 可接收第二个参数
    作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。
let arr = [12,45,97,9797,564,134,45642]
let set = new Set(arr)
console.log(Array.from(set, item => item + 1)) // [ 13, 46, 98, 9798, 565, 135, 45643 ]
  • 将字符串转换为数组:
let  str = 'hello world!';
console.log(Array.from(str)) 
// ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", "!"]

2. 将数组转换为字符串

  • array.toString()
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.toString();
// "Banana,Orange,Apple,Mango"

注意: 数组中的元素之间会用逗号分隔。

  • array.join("")
    效果同上,但是没有空格。

3. map.values
返回一个新的Iterator对象,包含按顺序插入Map对象中每个元素的value值。
可以通过Array.from(map.values())将其转为数组。
4.
5.

上一篇:js点击事件 图片切换练习


下一篇:微信打开网址添加在浏览器中打开提示的办法