2017-01-23 17 views
1
var words = [ 
    {word: 'cow', explain: 'animal'}, 
    {word: 'apple', explain: 'fruit'}, 
    {word: 'dog', explain: 'animal'}]; 
var word2 = ["cow", "dog"]; 

にはどうすればWORD2言葉を比較し、jQueryを使ってのマッチング言葉にを着色していますか?私の問題は、オブジェクトであるオブジェクトから要素を取得し、アレイと比較 - jQueryの

あなたは私を助けることができる、私は単語

内の要素を抽出することはできませんか? は、それは非常に単純です...しかし、あなたはあなたの質問の最初の部分のために最初の

var words = { 
    "cow": { "explain": "animal" }, 
    "apple": { "explain": "fruit" }, 
    "dog": { "explain": "animal" } 
}; 

、その後

for (var i = 0; i < words2.length; i++) 
{ 
    if (words[words2[i]]) 
    { 
     // found a math at index i 
    } 
} 
+2

一部のHTMLマークアップが暗示されている場合は、ジャバスクリプト – adeneo

+1

を使って何を色付けすることができないような何かを試してみてください。さもなければ、色付けするものは何もない* – RomanPerekhrest

+0

'words'の' word2'のインデックスを取得したいですか? –

答えて

-1

ありがとうございました使用するArray.filter()

var words = [ 
    {word: 'cow', explain: 'animal'}, 
    {word: 'apple', explain: 'fruit'}, 
    {word: 'dog', explain: 'animal'} 
]; 
var word2 = ["cow", "dog"]; 

var wordsInWord2 = words.filter(function (obj) { 
    return word2.indexOf(obj.word) !== -1; 
}); 

あなたのJavascriptがJavascriptには実際に色付きのテキストを出力する方法がないため、Webブラウザーで実行すると、質問の2番目の部分にHTMLが必要になります。あなたはそれを投稿する必要があり -

+0

Jqueryでそれを行う方法はありませんか?またはjavascript forループでこれを行うのに最適な方法ですか? –

+0

jQueryはjsに基づいています... jQueryではなく、抽象論理にjsを使用できます。他の回答からもわかるように、* filter *メソッドで配列を検索することはできますが、結果のインデックスを抽出することはできません。 – ymz

+0

@FrederikPeterVolkersあなたはJQueryについて誤解しています。 JQueryはHTMLで見つかったDOMオブジェクト(つまりHTMLタグ)で動作しますが、同じことではない普通の古いJavascriptオブジェクトを与えてくれました。 –

0

オブジェクトに単語を変換する必要があり、あなたができるあなたの

0

words.filter(function(e,i,arr){ 
    return word2.filter(e2 => e.word === e2).length; // only keep the words form word2 
}).forEach(function(e,i,arr){ 
    /*do something where e is of the form {word: ..., explain: ...} */ 
}); 
0

var words = [ 
 
    {word: 'cow', explain: 'animal'}, 
 
    {word: 'apple', explain: 'fruit'}, 
 
    {word: 'dog', explain: 'animal'}]; 
 
var word2 = ["cow", "dog"]; 
 

 
var result = []; 
 
words.forEach(function(e){ 
 
    if(word2.indexOf(e.word) != -1) 
 
     result.push(e); 
 
}); 
 

 
console.log(result);

関連する問題