簡體   English   中英

從Java數組對象中的對象添加值

[英]Add values from Object in Array Object in Javascript

我需要一個解決方案,將一個Object( weekdayMap )中的一些值添加到其中包含對象的現有數組( vehicleAvailabilities )中。 在第一天,我需要在第二天的價值Montag和Dienstag的價值

等等

我需要這樣的結果:

const result = [
  {id: 1, day: "1", value: true, weekday: 'Montag'},
  {id: 2, day: "2", value: true, weekday: 'Dienstag'} ...

從這兩個:

const vehicleAvailabilities = [
  {id: 1, day: "1", value: true},
  {id: 2, day: "2", value: true},
  {id: 3, day: "3", value: true},
  {id: 4, day: "4", value: true},
  {id: 5, day: "5", value: true},
  {id: 6, day: "6", value: false},
  {id: 7, day: "7", value: false}
]

const weekdayMap = {
  1: 'Montag',
  2: 'Dienstag',
  3: 'Mittwoch',
  4: 'Donnerstag',
  5: 'Freitag',
  6: 'Samstag',
  7: 'Sonntag'
}

這是一個演示 ,我喜歡數組映射和js中的所有新功能代碼

const vehicleAvailabilities = [
  {id: 1, day: "1", value: true},
  {id: 2, day: "2", value: true},
  {id: 3, day: "3", value: true},
  {id: 4, day: "4", value: true},
  {id: 5, day: "5", value: true},
  {id: 6, day: "6", value: false},
  {id: 7, day: "7", value: false}
]

const weekdayMap = {
  1: 'Montag',
  2: 'Dienstag',
  3: 'Mittwoch',
  4: 'Donnerstag',
  5: 'Freitag',
  6: 'Samstag',
  7: 'Sonntag'
}
let re = vehicleAvailabilities.map(function(item){
    item.weekday = weekdayMap[item.day];
  return item;
})
console.log(re);

為此,請自己做一個功能:

 const vehicleAvailabilities = [ {id: 1, day: "1", value: true}, {id: 2, day: "2", value: true}, {id: 3, day: "3", value: true}, {id: 4, day: "4", value: true}, {id: 5, day: "5", value: true}, {id: 6, day: "6", value: false}, {id: 7, day: "7", value: false} ] const weekdayMap = { 1: 'Montag', 2: 'Dienstag', 3: 'Mittwoch', 4: 'Donnerstag', 5: 'Freitag', 6: 'Samstag', 7: 'Sonntag' } function mergeMapIntoArray(map, array) { return array.map((entry) => { entry.weekday = map[entry.id]; return entry; }); } console.log(mergeMapIntoArray(weekdayMap, vehicleAvailabilities)); 

ES6解決方案。

 const a = [{id:1,day:"1",value:true},{id:2,day:"2",value:true},{id:3,day:"3",value:true},{id:4,day:"4",value:true},{id:5,day:"5",value:true},{id:6,day:"6",value:false},{id:7,day:"7",value:false}]; const b = {1:'Montag',2:'Dienstag',3:'Mittwoch',4:'Donnerstag',5:'Freitag',6:'Samstag',7:'Sonntag'}; const r = Object.keys(b).map((v, i) => ({ weekday: b[v], ...a[i] })); console.log(r); 

這里是一個示例腳本,該腳本使用地圖並僅向對象添加新屬性。

 var vehicleAvailabilities = [ {id: 1, day: "1", value: true}, {id: 2, day: "2", value: true}, {id: 3, day: "3", value: true}, {id: 4, day: "4", value: true}, {id: 5, day: "5", value: true}, {id: 6, day: "6", value: false}, {id: 7, day: "7", value: false} ]; const weekdayMap = { 1: 'Montag', 2: 'Dienstag', 3: 'Mittwoch', 4: 'Donnerstag', 5: 'Freitag', 6: 'Samstag', 7: 'Sonntag' } var result = []; var item; for(var i=0;i<vehicleAvailabilities.length;i++){ item = vehicleAvailabilities[i]; item.weekday = weekdayMap[parseInt(item.day)]; result.push(item); } console.log(result); 

如果您使用打字稿或ES6,則可以使@ÁlvaroTouzón的建議更加容易:

let re = vehicleAvailabilities.map(item => item.weekday = weekdayMap[item.day])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM