vue.delete()
删除对象属性
通过delete操作符, 可以实现对对象属性的删除操作, 返回值是布尔
例: var obj={name: 'zhagnsan',age: 19 }
delete obj.name //true
typeof obj.name //undefined
同样可用于函数,数组,变量,对象,但对象不能删除,只能做到删除对象属性
删除变量
例: var name ='zs' //已声明的变量
delete name //false
console.log(typeof name) //String
age = 19 //未声明的变量
delete age //true
typeof age //undefined
this.val = 'fds' //window下的变量
delete this.val //true
console.log(typeof this.val) //undefined
删除数组
以声明数组返回false,未声明返回true
var arr = ['1','2','3'] ///已声明的数组
delete arr //false
console.log(typeof arr) //object
arr = ['1','2','3'] //未声明的数组
delete arr //true
console.log(typeof arr) //undefined
var arr = ['1','2','3'] //已声明的数组
delete arr[1] //true
console.log(arr) //['1','empty','3']
删除函数
var fn = function(){} //已声明的函数
delete fn //false
console.log(typeof fn) //function
fn = function(){} //未声明的函数
delete fn //true
console.log(typeof fn) //undefined
删除对象
var person = {
height: 180,
long: 180,
weight: 180,
hobby: {
ball: 'good',
music: 'nice'
}
}
delete person ///false
console.log(typeof person) //object
var person = {
height: 180,
long: 180,
weight: 180,
hobby: {
ball: 'good',
music: 'nice'
}
}
delete person.hobby ///true
console.log(typeof person.hobby) //undefined
delete和splice都可以删除数组中的元素,但是有些区别的,我举具体的例子给你看,你看后就明白了。例如有一个数组是 :var textArr = ['a','b','c','d']
这时我想删除这个数组中的b元素:
方法一:delete 删除数组
delete textArr[1] 结果为: [ "a",undefined,"c","d"]
只是被删除的元素变成了 undefined 其他的元素的键值还是不变。
方法二:aplice 删除数组
splice(index,len,[item])注释:该方法会改变原始数组。
index:数组开始下标len: 替换/删除的长度 item:替换的值,删除操作的话 item为空
textArr.splice(1,1) 结果为: [ "a","c","d"] 直接删除了数组 改变了数组的值。