美文网首页
Vue 数组操作

Vue 数组操作

作者: lyp82nkl | 来源:发表于2019-07-09 21:48 被阅读0次

push / pop / unshift / shift 方法

  • push() 在末尾添加元素
  • pop() 将数组的最后一个元素移除
  • shift() 删除数组的第一个元素
  • unshift():在数组的第一个元素位置添加一个元素
    请看图:


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 的首字母大写

改变数组的长度
  • 改变数组长度,可以使用多种方法



    数组长度原本是 3,使用了 splice 方法,删除了索引为 1 及以后的元素,并返回被删除的元素。此时,数组长度变成了 1。



    使用了 push 方法, 向数组中添加了一个新元素。此时数组长度由原来的 3 变成了 4
    也可以使用其他方法改变数组长度,如:pop、unshift、shift 等。

相关文章

网友评论

      本文标题:Vue 数组操作

      本文链接:https://www.haomeiwen.com/subject/kvnfkctx.html