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']
複製程式碼