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
声明创建一个数组对象: var arr = new Array() 或者 var arr = []
连接两个或者多个数组,并且返回该数组,语法: array.concat(object,object,......)
通过指定字符(参数)对数据进行分割,返回字符串,参数省略的话则用默认用逗号为分隔符
删除数组的最后一个对象,返回该删除元素的值
向数组末尾添加一个或者多个对象,语法: array.push(newObject1,newObject2,.....)
删除数组的第一个对象,并返回删除的元素
向数组开头添加一个或者多个元素,并返回新的长度
从已知数组中返回指定选中的数据(不包括end 对应的元素),如果省略 end 将复制 start 之后的所有元素,该操作不会修改原数组的数据, slice(start,end)
向数组中删除/添加对象,并返回被删除的元素
splice(index,count,item1,item2,......)
方法用户对数组的排序, sort(sortby) ,sortby可选,必须是函数。如调用方法没有使用参数,则按字母顺序进行排序。
只要有一个满足的就返回true,没有满足的返回false
验证数组中是否每个元素都满足指定的条件
没有返回值,可以不知道数组长度
arr.forEach(function(res,index){ })
返回值组成新数组,原数组不变
过滤通过条件的元素组成一个新数组,原数组不变
查找出第一个符合条件的数组成员,并返回该成员,如果没有找到就返回undefine
找到的是位置,找不到返回 -1
填充, arr.fill(填充的东西,start,end) 包括end
把for (var g = 0g <arr[i].c.lengthg++) {
改成
for (var g = arr[i].c.length-1g >=0g--) {
就正常了
原因就在于,如果从头开始循环,遇到连续两个需要删除的元素时,删掉第一个,下一个元素就自动顶上来代替已删除的元素位置,然后程序再一次循环时,就会跳过这个元素而去处理下下个元素,这样就会造成删除不全的情况了。
解决的办法就是从后面往前面删,就可以完美避免上面的问题。