Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度对象对对象阵列_Javascript_Arrays - Fatal编程技术网

Javascript 角度对象对对象阵列

Javascript 角度对象对对象阵列,javascript,arrays,Javascript,Arrays,我的目标 { bookingDate: "2019-10-17", createDate: "2019-10-14T12:40:08.624", lastUpdateTime: "2019-10-17T16:04:30.973", p2p00: true, p2p01: true, p2p02: true, p2p03: true, p2p04: true, response: null, sa00: 0, sa01: 0, sa02: 0,

我的目标

{
  bookingDate: "2019-10-17",
  createDate: "2019-10-14T12:40:08.624",
  lastUpdateTime: "2019-10-17T16:04:30.973",
  p2p00: true,
  p2p01: true,
  p2p02: true,
  p2p03: true,
  p2p04: true,
  response: null,
  sa00: 0,
  sa01: 0,
  sa02: 0,
  sa03: 0,
  sa04: 0,
  sa05: 0,
  srr00: false,
  srr01: false,
  srr02: false,
  srr03: false,
  srr04: false,
  srr05: false,
  sup00: 0,
  sup01: 0,
  sup02: 0,
  sup03: 0,
  sup04: 0,
  sup05: 0
}
我想做的通用对象数组

[
  {p2p00: true, sa00: 0, srr00: false, sup00: 0},
  {p2p01: true, sa01: 0, srr01: false, sup01: 0},
  {p2p02: true, sa02: 0, srr02: false, sup02: 0},
  {p2p03: true, sa03: 0, srr03: false, sup03: 0},
  {p2p04: true, sa04: 0, srr04: false, sup04: 0}
]
如何从对象中创建包含字段的对象数组?
我只想创建一个包含我想要的字段的数组,执行类似以下操作:

var obj = {
  bookingDate: "2019-10-17",
  createDate: "2019-10-14T12:40:08.624",
  lastUpdateTime: "2019-10-17T16:04:30.973",
  p2p00: true,
  p2p01: true,
  p2p02: true,
  p2p03: true,
  p2p04: true,
  response: null,
  sa00: 0,
  sa01: 0,
  sa02: 0,
  sa03: 0,
  sa04: 0,
  sa05: 0,
  srr00: false,
  srr01: false,
  srr02: false,
  srr03: false,
  srr04: false,
  srr05: false,
  sup00: 0,
  sup01: 0,
  sup02: 0,
  sup03: 0,
  sup04: 0,
  sup05: 0
};

var ar = [];
ar.push({'p2p00': obj.p2p00});
ar.push({'p2p04': obj.p2p04});
console.log(ar);
您可以使用map函数。例如:

const obj = {
  name: 'John',
  lastName: 'Doe',
  age: 21
}

const newObj = obj.map(x => {
  return {
    name: x.name,
    age: x.age
  }
})

console.log(newObj); // output: { name: John, age: 21}
有关更多详细信息,您可以检查:

let newArray = [];
for (let i = 0; i < numberOfNewObjectsIWantToMake; i++) {
    let newObj = {};
    let index = '';

    if (i < 10) {
        index = '0' + i;
    }
    else {
        index = i;
    }

    newObj['p2p' + index] = myOriginalObj['p2p' + index];
    newObj['sa' + index] = myOriginalObj['sa' + index];
    /// ... Continue this pattern for all properties you want to transfer

    newArray.push(newObj);
}
const obj = {
  bookingDate: "2019-10-17",
  createDate: "2019-10-14T12:40:08.624",
  lastUpdateTime: "2019-10-17T16:04:30.973",
  p2p00: true,
  p2p01: true,
  p2p02: true,
  p2p03: true,
  p2p04: true,
  response: null,
  sa00: 0,
  sa01: 0,
  sa02: 0,
  sa03: 0,
  sa04: 0,
  sa05: 0,
  srr00: false,
  srr01: false,
  srr02: false,
  srr03: false,
  srr04: false,
  srr05: false,
  sup00: 0,
  sup01: 0,
  sup02: 0,
  sup03: 0,
  sup04: 0,
  sup05: 0
};

let tmpObj = {}

for(let key in obj) {
  let match = key.match('0[0-9]$');
  if (match) {
    if (!tmpObj[match[0]]) {
      tmpObj[match[0]] = {}
    }
    tmpObj[match[0]][key] = obj[key];
  }
}

const result = Object.values(tmpObj)