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"]