我将添加一个wordInDoc对象(word:num)如果单词在对象词汇[positive]中,我尝试等于但是失败。为什么?
这是我的代码
var nbayes = function(_class, docs) {
var vocab = {
positif: {
wd: ['baik', 'pintar']
},
negatif: {
wd: ['buruk', 'jelek']
}
}
var wordInDoc = {}
var sumDocs = 0;
docs = docs.split(' ')
var wd = 'wd'
for (var word of docs) {
if (word in vocab[_class][wd]) {
var delta = 1
wordInDoc[word] = 0
wordInDoc[word] += delta
sumDocs++
}
console.log(wordInDoc, sumDocs)
}
};
nbayes('positif', 'baik dan rajin')
nbayes('negatif', 'nakal dan bodoh')
答案 0 :(得分:1)
这是您正在寻找的解决方案吗?
循环播放数组' docs'然后在'词汇[_class] [wd]'中检查匹配索引。
对于不存在的类' _class'应该进行一些其他验证。
var nbayes = function(_class, docs) {
var wordInDoc = {};
var sumDocs = 0;
var wd = 'wd';
var word;
var vocab = {
positif: {
wd: ['baik', 'pintar']
},
negatif: {
wd: ['buruk', 'jelek']
}
}
docs = docs.split(' ');
for (var i = 0;i < docs.length; i++) {
word = docs[i];
if (vocab[_class] && vocab[_class][wd].indexOf(word) !== -1) {
var delta = 1;
wordInDoc[word] = 0;
wordInDoc[word] += delta;
sumDocs++;
}
console.log(wordInDoc, sumDocs)
}
};
nbayes('positif', 'baik dan rajin')
nbayes('negatif', 'nakal dan bodoh')
&#13;