Vue 数组操作

2019-07-09  本文已影响0人  lyp82nkl

push / pop / unshift / shift 方法

sort / reverse 方法

<div id="app">
    <ul>
      <li v-for="person in personArr">
        {{ person }}
      </li>
    </ul>
    <button @click="sortArr">sort</button>      
    <button @click="reverseArr">reverse</button> 
</div>

var app = new Vue({
  el: '#app',
  data: {
    personArr: ['张三', '李四', '王二麻子']
  },
  methods: {  
    sortArr() {                      
      this.personArr.sort(function (a, b) {
        return b.length - a.length    // 为了效果,写的 b.length - a.length,你也可以调换顺序试试
      })
    },
    reverseArr() {
      this.personArr.reverse()
    }
  }
})

看图:


filter:过滤数组中的元素

<div id="app">
    {{ match }}   
</div>

var app = new Vue({
  el: '#app',
  data: {
    studyArr: ['book', 'pen', 'pencil']  
  },
  computed: {
    match() {  
      return this.studyArr.filter(function (value) {   
        return value.match(/oo/)
//选择带有 oo 的单词
      }) 
    }
  }
})

数组中的元素,只有 "book" 才含有 "oo" ,所以返回 "book"。

数组的两个变动 Vue 检测不到:

<div id="app">
    <ul>
      <li v-for="person in personArr">
        {{ person }}
      </li>
    </ul>
    <button @click="changeItem">changeItem</button>      
    <button @click="changeLength">changeLength</button> 
</div> 

var app = new Vue({
  el: '#app',
  data: {
    personArr: ['张三', '李四', '王二麻子']
  },
  methods: {    
    changeItem() {
      this.personArr[1] = 'dongdong'    
// 将数组索引为 1 的元素改成 'dongdong'
    },
    changeLength() {
      this.personArr.length = 100    
// 将数组长度改成 100
    }
  }
})
改变数组的指定项

Vue.set(数组, 索引, 新元素) // 注意 Vue 的首字母大写

改变数组的长度
上一篇下一篇

猜你喜欢

热点阅读