【问题标题】:I want to convert array values to single object我想将数组值转换为单个对象
【发布时间】:2019-04-15 08:20:48
【问题描述】:

我尝试了以下代码并获得了一个数组,但我想创建以下输出:

var hid_col_arr = [];
if (hiddenFieldsArr.length) {
  $.each(hiddenFieldsArr, function (hid_field, hid_field_label) {
    hid_col_arr[hid_field] = {targets: hid_field_label.original, orderData: hid_field_label.hidden, visible: false};
  });
  console.log(hid_col_arr);
}

输出:

[
  0: {
    targets: 4, 
    orderData: 4, 
    visible: false
  }, 
  1: {
    targets: 5, 
    orderData: 5, 
    visible: false
  }
]

我要输出:

{
  targets: 4, 
  orderData: 4, 
  visible: false
}, {
  targets: 5, 
  orderData: 5, 
  visible: false
}

【问题讨论】:

  • 我不认为这是一种有效的格式,除非你真的想在一个字符串上打印对象
  • 您想要的输出不正确。数组用数字索引。和对象用字符串键索引。您想要的输出既不是数组也不是对象。

标签: javascript jquery arrays json object


【解决方案1】:

我相信你想从一个对象中获取一个数组:

const output = {
  0: {
    targets: 4,
    orderData: 4,
    visible: false
  },
  1: {
    targets: 5,
    orderData: 5,
    visible: false
  }
};

const arr = Object.values(output).sort((a, b) => a.orderData - b.orderData);
console.log(arr);

(排序与保持对象有序有关)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 2021-01-04
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多