首页 > 编程知识 正文

js将对象转成数组,js 对象转数组对象

时间:2023-05-04 22:07:24 阅读:183266 作者:788

https://www.cnblogs.com/wancheng7/p/8735168.html

对象的两种取值方式

我们都知道,JS中对象有两种取值方式,通过在.后面直接加属性名取值,这也是我们最常使用的一种方式,例如:

let obj = {name: 'wan'};console.log(obj.name); //wan

这是最普通的一种方式,还有一种方式我们用的不太多,就是使用[]包住属性名取值,类似于数组那样,例如

let obj = {name: 'wan'};console.log(obj[name]); //wan

那二者之前有什么区别呢,如果对于一个已知的对象来说,几乎是没什么区别的,但是如果我们需要的对象的key是变量呢?这就回到了我们文章开始是提到的问题,如何将一个对象转化为数组

将对象转化为数组

我们文章开始例子中的对象是

let obj = {'未完成':5, '已完成':8, '待确认':4, '已取消':6};

如果目标数组只是为了得到对象的key的集合或者value的集合还是相对容易的

var arr = []for (let i in obj) { arr.push(obj[i]); //属性 //arr.push(obj[i]); //值}console.log(arr);

如果像我文中开始的需求的话就只需要改变一下push进去的内容为一个对象即可

var arr = []for (let i in obj) { let o = {};o[i] = obj[i];arr.push(o)}console.log(arr);

 

js中往数组中插入对象var datas = [{ "id":1 , "name":"Gates","age":34 },{ "id":2 , "name":"Bush","age":22 },];var newArr = [];function addArr() {for (var i = 0; i <datas.length; i++) { var obj = {}; obj.id = datas[i].id; obj.name = datas[i].name; //或者 var obj = {id:datas[i].id,name:datas[i].name} newArr.push(obj);}console.log(newArr);} 微信小程序数组[{},{}]对象转数组.forEach不可以操作对象let arr = [{a:1},{a:2},{a:3}]let newarr = []arr.forEach((item,index)=>{newarr.push(item.a)})console.log(newarr)//[1,2,3]this.setData({ noticearr: newarr}) 对象转化为数组(forEach不可以操作对象)let obj={a:4,b:5,c:6}let newarr = []for(let i in obj){newarr.push(obj[i])}console.log(newarr)//[4,5,6] let obj={a:4,b:5,c:6,d:{ a:4, b:5, c:6, }}let newarr = []for(let i in obj.d){newarr.push(obj[i])}console.log(newarr)//4,5,6

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。