Vue.js 删除data数据
1.从当前列表中删除//从当前列表中删除this.namelist.splice(scope.index, 1)2.删除对象中的某个属性//删除对象中的某个属性//Vue.delete(this.namelist, 'name')this.$delete(this.form,'members1')this.$delete(this.form,'leader1')...
·
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"]
更多推荐
已为社区贡献4条内容
所有评论(0)