这段时间在做一个function 将单词放入场景中记忆
markWord
var markWordFn = function(userArray, markArray) {
var arr1 = userArray; //用户说的话
var arr2 = markArray; //bot返回的单词
var temp = []; //临时数组1
var temparray = []; //临时数组2 重复的
var tempArrayIndex = []; //重复数 下标
for(var i = 0; i < arr2.length; i++) {
temp[arr2[i]] = true; //巧妙地方:把数组B的值当成临时数组1的键并赋值为真
};
for(var i = 0; i < arr1.length; i++) {
if(temp[arr1[i]]) {
temparray.push(arr1[i]); //巧妙地方:同时把数组A的值当成临时数组1的键并判断是否为真,如果不为真说明没重复,就合并到一个新数组里,这样就可以得到一个全新并无重复的数组
tempArrayIndex.push(i);
};
};
var str = "";
var index = 0;
for(var i = 0; i < arr1.length; i++) {
if(i == tempArrayIndex[index]) {
str += "<span class=fontColor>" + arr1[i] + "</span>" + " ";
index++;
} else {
str += arr1[i] + " ";
}
}
return str;
}
var a="I want to book a room";
var arr1=a.split(" ");
// json
var wordArray = ["weather","hotel","book"];
var result;
console.log(wordArray);
result=markWordFn(arr1,wordArray);
console.log(result);
document.getElementById("fontArea").innerHTML=result;
网友评论