返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)
var obj={"1":"a","2":"b"}
Object.keys(obj).forEach(function (key) {
console.log(key,obj[key])
});
返回值:
// 1 a
// 2 b
循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).
var obj={"1":"a","2":"b"}
for(var key in obj){
console.log(key,obj[key])
}
返回值:
// 1 a
// 2 b
此方法与foreach方法类似。
var obj={"1":"a","2":"b"}
for (var key of Object.keys(obj)) {
console.log(key,obj[key])
}
或者:
for (let [key, value] of Object.entries(obj)) {
console.log(key,value)
}
返回值:
// 1 a
// 2 b
Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环也枚举原型链中的属性)。
返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性)
var obj={"1":"a","2":"b"}
Object.getOwnPropertyNames(obj).forEach(function(key){
console.log(key,obj[key]);
});
返回值:
// 1 a
// 2 b
返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举
var obj={"1":"a","2":"b"}
Reflect.ownKeys(obj).forEach(function(key){
console.log(key,obj[key]);
});
返回值:
// 1 a
// 2 b
1.var obj = {}//字面量,建议这种方式(方便初始化赋值)
2.var obj = new Object();
1.obj.name = "zhangsan"
2.obj["name"] = "zhangsan"
1.obj.name
2.obj["name"] ==》底层转化为这种,所以建议使用
delete obj["name"]
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。