如何匹配数组与对象以检索匹配的元素?

时间:2017-06-28 08:14:38

标签: jquery

var Array = [Activism,Netherlands,France,Politics];

data-topic ="行动主义非洲电影与文化传记冲突殖民主义历史人权法律与司法政治学会女性法国荷兰南非英语 - 朗朗电影1001011"

如果匹配所有值,我想匹配li data-topic中的数组值。然后我想要显示结果。有人知道怎么做。

1 个答案:

答案 0 :(得分:2)

您只需要找到Array中不存在的data-topic元素。因此,每当Array中至少有一个元素不在data-topic中时,您就可以确认并相应地显示结果。以下是适合您的代码段

var arrayData = ['Activism','Netherlands','France','Politics'];

var data_topic="Activism African Cinema and Culture Biography Conflicts Colonialism History Human Rights Law and Justice Politics Society Women France Netherlands South-Africa English-spokelang cinephil 1001011";

var isMatched = true;
for(var i=0; i<arrayData .length; i++){
  //if the arrayData element is not contained in the data_topic
  if(data_topic.indexOf(arrayData [i]) === -1){
    isMatched = false;
    //do not loop further
    break;
  }
}

if(isMatched){
  alert('data-topic contains all Array element');
}

为简单起见,这里是JSFIDDLE

的链接

您可以注意到我已将变量Array重命名为arrayData,因为Array可能被误解为内置关键字。此外,data-topic更改为data_topic,以便在javascript中进行适当的变量声明。