js 对象转为js数组 && Object方法

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']  
复制代码
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值