JS中将对象转化为数组,数组转对象

朱雀 2022-12-24 06:58 268阅读 0赞

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

对象的两种取值方式

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

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

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

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

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

将对象转化为数组

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

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

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

  1. var arr = []
  2. for (let i in obj) {
  3. arr.push(obj[i]); //属性
  4. //arr.push(obj[i]); //值
  5. }
  6. console.log(arr);

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

  1. var arr = []
  2. for (let i in obj) {
  3. let o = {};
  4. o[i] = obj[i];
  5. arr.push(o)
  6. }
  7. console.log(arr);
  8. js中往数组中插入对象
  9. var datas = [
  10. { "id":1 , "name":"Gates","age":34 },
  11. { "id":2 , "name":"Bush","age":22 },
  12. ];
  13. var newArr = [];
  14. function addArr() {
  15. for (var i = 0; i <datas.length; i++) {
  16. var obj = {};
  17. obj.id = datas[i].id;
  18. obj.name = datas[i].name;
  19. //或者
  20. var obj = {id:datas[i].id,name:datas[i].name}
  21. newArr.push(obj);
  22. }
  23. console.log(newArr);
  24. }
  25. 微信小程序数组[{},{}]对象转数组.forEach不可以操作对象
  26. let arr = [{a:1},{a:2},{a:3}]
  27. let newarr = []
  28. arr.forEach((item,index)=>{
  29. newarr.push(item.a)
  30. })
  31. console.log(newarr)//[1,2,3]
  32. this.setData({
  33. noticearr: newarr
  34. })
  35. 对象转化为数组(forEach不可以操作对象)
  36. let obj={
  37. a:4,
  38. b:5,
  39. c:6
  40. }
  41. let newarr = []
  42. for(let i in obj){
  43. newarr.push(obj[i])
  44. }
  45. console.log(newarr)//[4,5,6]
  46. let obj={
  47. a:4,
  48. b:5,
  49. c:6,
  50. d:{
  51. a:4,
  52. b:5,
  53. c:6,
  54. }
  55. }
  56. let newarr = []
  57. for(let i in obj.d){
  58. newarr.push(obj[i])
  59. }
  60. console.log(newarr)//4,5,6

发表评论

表情:
评论列表 (有 0 条评论,268人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JS对象转化数组

    [JS中将对象转化为数组][JS] 前言 其实这本来应该是一个很基础的问题了,但我之做一想记录一下是因为之前因为对象转数组的时候卡住了后来弄了出来,但最近再遇到这个问题