我有一个主数组,以及一个包含项目数组的对象。我想看看包含项的对象是否与主数组索引匹配。如果匹配,则写入控制台。
var mainItems = [0,1,2,3,4,5,6,7,8,9,10,"car", "boat", "truck", "plane"];
var nonStandardItems =
{
"items": [
{
"value": "8",
"code": "8ic"
},
{
"value": "boat",
"code": "10bt"
}
],
}
if( nonStandardItems.items.slice(-1)[0].value == mainItems.indexOf(nonStandardItems.items.slice(-1)[0].value) ){
console.log("you are right");
}
但是,我只得到-1的值,并且出错。我错过了什么?
修改 我从不同的数据源中提取数据,所有数据都包含垃圾数据。但是,垃圾数据数组中的最后一项是我需要的项目。
我想检查来自我的api请求的结果是否与“预期”或“标准”数据集相匹配。例如,我的nonStandardItems对象是我从api返回的一个例子。
我想解析它,并检查items数组中的LAST项是否具有与我的标准项数组的索引匹配的值。我的垃圾项目数组包含数字和文本数据,但最后一项将始终具有我期望的数字或文本代码。
这个例子是设计和匆忙的,所以我为拼写,句法和解释错误道歉。控制台抛出的错误是nonstandardItems.items [-1] .value不存在。
答案 0 :(得分:0)
使用filter():
if (nonStandardItems.items.filter(v => mainItems.indexOf(v.code) == v.value).length > 0) {
console.log("you are right")
}