[英]Looping over array in react native
enter image description here these is my input array(service_item_list)...在此处输入图像描述这些是我的输入数组(service_item_list)...
for (var k = 0; k < service_item_list.length; k++) {
for (var l = 0; l < service_item_list[k].length; l++) {
service_item_list[k][l].service_id=this.state.selected_services[k].id
}
}
service_item_list=[[{event_id:'',service_id:'',product_id:''},{event_id:'',service_id:'',product_id:''},{event_id:'',service_id:'',product_id:''}],[{event_id:'',service_id:'',product_id:''},{event_id:'',service_id:'',product_id:''},{event_id:'',service_id:'',product_id:''}]]
this.state.selected_services=[{id:'5',event_id:'1'},{id:'6',event_id:'1'}]
... i keep getting the output: ... ...我不断收到 output:...
service_item_list=[[{event_id:'1',service_id:'6',product_id:''},{event_id:'1',service_id:'6',product_id:''},{event_id:'1',service_id:'6',product_id:''}],[{event_id:'1',service_id:'6',product_id:''},{event_id:'1',service_id:'6',product_id:''},{event_id:'1',service_id:'6',product_id:''}]]
... but i need the output: ... ...但我需要 output:...
service_item_list=[[{event_id:'1',service_id:'5',product_id:''},{event_id:'1',service_id:'5',product_id:''},{event_id:'1',service_id:'5',product_id:''}],[{event_id:'1',service_id:'6',product_id:''},{event_id:'1',service_id:'6',product_id:''},{event_id:'1',service_id:'6',product_id:''}]]
... I'm not able to find where the error is??? ...我找不到错误在哪里???
You can make things easier using JavaScript array map method.您可以使用 JavaScript 数组 map 方法使事情变得更容易。 So the approach will be like this:
所以方法是这样的:
const service_item_list=[[{event_id:'',service_id:'',product_id:''},{event_id:'',service_id:'',product_id:''},{event_id:'',service_id:'',product_id:''}],[{event_id:'',service_id:'',product_id:''},{event_id:'',service_id:'',product_id:''},{event_id:'',service_id:'',product_id:''}]]
const selected_services=[{id:'5',event_id:'1'},{id:'6',event_id:'1'}]
const res = service_item_list.map((arr, outerIdx) => {
return arr.map((obj) => {
obj.service_id = selected_services[outerIdx].id
return obj;
})
})
console.log(res)
[
[
{ event_id: '', service_id: '5', product_id: '' },
{ event_id: '', service_id: '5', product_id: '' },
{ event_id: '', service_id: '5', product_id: '' },
],
[
{ event_id: '', service_id: '6', product_id: '' },
{ event_id: '', service_id: '6', product_id: '' },
{ event_id: '', service_id: '6', product_id: '' },
],
];
The value stored in the res constant will be your result as shown above.存储在 res 常量中的值将是您的结果,如上所示。 More on JS array map method here
更多关于 JS 数组 map 方法的信息在这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.