Vue.js 删除data数据

    技术2022-07-12  80

    1.从当前列表中删除

    //从当前列表中删除 this.namelist.splice(scope.index, 1)

    2.删除对象中的某个属性  

    //删除对象中的某个属性 //Vue.delete(this.namelist, 'name') this.$delete(this.form,'members1') this.$delete(this.form,'leader1')

     

    补充两个实用的方法:从数组中查index

    /** * 从数组中取出指定名称的index * @param arr 数组 * @param key 数组属性名称 * @param key 数组属性值 */ search(arr, key, value) { //返回寻找当前元素的index var i = arr.length for (let j = 0; j < i; j++) { if (arr[j][key] == value) { return j } } return false }, /** * 构造一个删除数组元素的函数 * * @param array * 数组 * @param element * 要删除的元素 * @return array 新数组 */ removeElement(array, element) { var index = this.search(array, 'name', element) if (index > -1) { array.splice(index, 1) } return array } /** * 从数组中取出指定名称的对象 * @param arr 数组 * @param key 数组属性名称 * @param key 数组属性值 */ searchObject(arr, key, value) { //返回寻找当前元素的index var i = arr.length for (let j = 0; j < i; j++) { if (arr[j][key] == value) { return arr[j] } } return false },

     

     

     

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    第一种用最常见的ForEach循环来对比元素找到之后将其删除:

    var colors = ["red", "blue", "grey"]; colors.forEach(function(item, index, arr) { if(item == "red") { arr.splice(index, 1); } });

     

    第二种我们用循环中的filter方法:

    var colors = ["red", "blue", "grey"]; colors = colors.filter(function(item) { return item != "red" }); console.log(colors); //["blue", "grey"]

     

    Processed: 0.011, SQL: 9