js中的delete
let a = [
{ name : ' jwq ' , age : 24 }
,{ name : ' zhn ' , age : 23 }
]
a.forEach(item=>{
delete item.name
})
console.log( a , ' a ' )
//最后的到的结果是a = [{ age :24 } , { age :23 }]
那这个delete能干什么呢?它是用来删除对象的属性的操作符,而不是删除一个对象的操作符
如果delete 用来直接删除对象,就会导致出现“指针悬挂”问题,所以一个对象里面的属性是可以通过delete来删除的,也可以通过直接重组数组的方法
let a = [{name: 'jwq', age: 24}, {name: 'zhn', age: 23}]
let sum = []
for (let i = 0; i < a.length; i++) {
sum.unshift({age: a[i].age})
}
a = sum
console.log(a, 'a')
//最后的到的结果是a = [{ age :24 } , { age :23 }]
js中的in
-
数组中的in
let a = [ 1 ] let b = 0 console.log( b in a , ' a ') //结果是true 因为a只有一个元素,索引是0
-
对象中的in
let a = { age : 12 , name : ' jwq ' } let b = ' age ' console.log(b in a, 'a') //结果是true 因为a里面有b这个属性,如果b = 12的话,那就是false
js中的instanceof
-
判断左边是属于右边的,是返回true,不是返回false
let a={age:12,name:'jwq'} a instanceof Object; //true:a是Object的实例 a instanceof Number; //false:计算结果为false,a不是一个Number对象
js中的typeof
let a = { age : 12, name : ' jwq ' }
console.log( typeof a, ' a ')
//结果显示a是object类型