gpt4 book ai didi

JavaScript 将一个数组与另一个数组匹配?

转载 作者:行者123 更新时间:2023-12-03 04:02:31 25 4
gpt4 key购买 nike

enter image description here

上面我有我的数组的图片,下面的代码我映射了两组数组。这个函数的目的是使'_polygons'空数组。我有一个名为“this.siAsset.updateComponent(_id, _polygons)”的休息服务,旨在更新每个 Assets 。唯一的事情是,我似乎无法将一组数据传递给我拥有的更新组件服务,它的设计是采用一个 id 和一个对象作为参数(如果有办法解决,请提供),正如您可以看到的图片中,_id 和 _polygons 都有 id 数组和对象数组。问题是,我如何循环和匹配来调用其余部分来遍历每个 id 和对象,而不是通过像这样编写代码 9 次来调用 this.siAsset.updateComponent(_id[0], _polygons[0]) ...this .siAsset.updateComponent(_id[9], _polygons[9])

  deleteAllZones = () => {
let assetVal = this.asset.$$state.value
console.log('tenant', assetVal)
let _polygons = assetVal.map(function (a) {
a.polygon = []
return a
})
console.log('a',_polygons)
let _id = assetVal.map(function (a) {
let id = a.id
return id
})
console.log('id',_id)



let message = this.$filter('translate')('SI-MESSAGES.DELZONE-MSG');
let title = this.$filter('translate')('SUBHEADER.DELZONE-TITLE');
let button = this.$filter('translate')('BUTTON.DELETE');
this.siAlertDialog.confirm(message, title, button)
.then(() => {
this.siAsset.updateComponent(_id, _polygons).then(() => {
this.toastIt.simple(this.$filter('translate')('SI-MESSAGES.ZONE-DELETED'))

}, (err) => {
this.siAlertDialog.error();
}
)
})
}

最佳答案

您的代码片段不起作用。我已经做了虚拟条目。这应该会给你一个想法。基本上,您需要循环一个数组并使用索引在第二个数组中查找相应的项目

// Mocking data here
let assetVal = [{
id: 1
},
{
id: 2
},
{
id: 3
}
]
let _polygons = assetVal.map(function(a) {
a.polygon = []
return a
})
//console.log('a', _polygons)
let _id = assetVal.map(function(a) {
let id = a.id
return id
})
//console.log('id', _id)
// Mocking done

let updateComponent = (id, polygon) => {
return new Promise((resolve, reject) => {
resolve({
id,
polygon
})
})
}

_id.forEach((id, i) => {
updateComponent(id, _polygons[i]).then(result => {
console.log(result)
})
})

此外,通过查看您的代码,您的 updateComponent 方法似乎不需要将 id 作为参数传递,因为它已经存在于 多边形也是如此。也许您想重构它。

关于JavaScript 将一个数组与另一个数组匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44665811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com