const obj = {
"phone_num_wxx": "用户手机号",
"phone_city_wxx": "手机号归属地",
"sex_wxx": "性别",
"income_wxx": "收入",
"age_wxx": "年龄"
};
let arr = [];
Object.keys(obj).forEach(v => {
let o = {};
o[v] = obj[v];
arr.push(o)
})
console.log(arr)
复制代码
Object.keys方法是JavaScript中用于遍历对象属性的一个方法 。它传入的参数是一个对象,返回的是一个数组,数组中包含的是该对象所有的属性名。
var cat= {
name:’mini’,
age:2,
color:’yellow’,
desc:”cute”
}
复制代码
console.log(Object.keys(cat)); // ["name", "age", "color", "desc"] 、console.log(Object.values(cat)); // ["’mini", "2", "yellow", "cute"]
1.传入字符串,返回索引
var str = 'ab1234';
console.log(Object.keys(obj)); //[0,1,2,3,4,5]
复制代码
2.返回一个对象属性数组
var person={
firstName:"David",
lastName:"Walsh",
others:"Smith"
};
Object.keys(person).forEach(function(trait){
console.log('person',trait,':',person[trait]);
});
复制代码
3.遍历字符串
var str = 'zhanglong';
Object.keys(str).forEach(function (item,index) {
switch (index) {
case 0 : alert(str[item]);//z
}
})
/
4.
// 类数组对象,就是含 length 和索引属性的对象
// 类数组对象转化为数组
let obj22 = {
'0': 3,
'1': 13,
'2': 23,
'3': 33,
'length': 4
}
for (var i = 0; i < obj22.length; i++) {
console.log('类数组对象' + obj22[i])
}
console.log(Array.prototype.slice.call(obj22));// [3, 13, 23, 33]
// Array.from方法:可以将类数组对象和可迭代对象转换为数组
console.log(Array.from(obj22))//[3, 13, 23, 33]
var obj = {
a:1,
b:2,
c:3
}
for (i in obj) {
console.log(i + obj[i]);//循环输出键 和 值 //a1 b2 c3
}
var arr = [];
var obj2 = {};
console.log(Object.keys(obj));//输出键数组 ["a", "b", "c"]
Object.keys(obj).forEach(function (item,index) {
obj2[item] = obj[item];
arr.push(obj2);
})
// var obj = {}
// var arr = [];
// obj.name = 'maole';
// arr.push(obj)
// console.log(arr);
// var a = delete obj.name;//输出布尔值
复制代码
Object得所有方法
1.Object.keys()ES5 引入了Object.keys方法,返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键名。
var obj = { foo: "bar", baz: 42 };
Object.keys(obj)
// ["foo", "baz"]
复制代码
ES7 有一个提案,引入了跟Object.keys配套的Object.values和Object.entries。
2.Object.values()
Object.values方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值。正好与Object.keys相对接
var obj = { foo: "bar", baz: 42 };
Object.values(obj)
// ["bar", 42]
//返回数组的成员顺序
var obj = { 100: 'a', 2: 'b', 7: 'c' };
Object.values(obj)
// ["b", "c", "a"]
//属性名为数值的属性,是按照数值大小,从小到大遍历的,因此返回的顺序是b、c、a。
复制代码
3.Object.entries
Object.entries方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值对数组。
var obj = { foo: 'bar', baz: 42 };
Object.entries(obj)
//Object.values会过滤属性名为 Symbol 值的属性。
Object.values({ [Symbol()]: 123, foo: 'abc' });
// ['abc']
复制代码