此:
const pageID: number = 4;
这:
this.charts.findIndex((chart: IChart) => {
return chart.pageID === pageID;
}));
this.charts
是IChart[]
的数组,其中包含:
[
{
"pageID": 3,
"zoomable": false
},
{
"pageID": 4,
"zoomable": false
},
{
"pageID": 5,
"zoomable": false
}
]
令人惊讶的是,它总是返回-1
。即使我将pageID
的值更改为4
或5
。
通常这是可行的,但它使我发疯。在尝试找到索引之前,我要做的唯一一件事就是合并两个数组并根据pageID
参数删除重复的值,如下所示:
let unique = {};
this.charts = charts[0].concat(charts[1])
.filter((chart) => !unique[chart.pageID] && (unique[chart.pageID] = true))
.sort((a, b) => a.pageID - b.pageID);
this.charts
的输出是上面粘贴的带有zoomable
和pageID
属性的数组。
-
即使在node
内以正确的顺序运行以上命令,也不是火箭科学,但返回的正确索引在我的情况下为1
。有人对这个问题有见识吗?
注意:它正在iOS wkwebview的Cordova应用中运行。
谢谢。
答案 0 :(得分:0)
您的代码似乎可以正常运行。
where