2016-04-26 5 views
0

私は、誰かが私が間違っているのかを指し示すことができ期待していた初心者のビットです。JSアレイ+アレイのプロパティを反復

アイデアは、配列値&特性をループにsearchArrayするためのものです。引数(プロパティ、値)をとります。関数を呼び出すと、プロパティ(ホスト名)が定義されていないということを示すRefernencErrorが返されます。 browsingHistory [i] .propertyに問題がありますか?

function searchArray(property, value) { 
    for (i = 0; i < browsingHistory.length; i++) { 
     return value === browsingHistory[i].property; 
    } 
} 
+0

どのようなブラウジング履歴ですか?これは別の配列ですか? – Greeso

+0

はい、browsingHistoryは配列です。特定のプロパティを持つオブジェクトを持っています。 –

答えて

3

browsingHistory[i].propertyは、「プロパティ」と呼ばれるプロパティの値を意味します。

使用browsingHistory[i][property]代わり


デモ

function searchArray(property, value) { 
 
    for (i = 0; i < my_array.length; i++) { 
 
     return value === my_array[i][property]; 
 
    } 
 
} 
 

 

 
var my_array = [ 
 
    { 
 
    x: "foo", 
 
    y: "bar" 
 
    }, 
 
    { 
 
    x: "foooooo", 
 
    y: "baaaaar" 
 
    } 
 
] 
 

 

 
// should output "true" because my array contains an element with a 
 
// property named "x" and which value is "foo" 
 
document.body.innerHTML = searchArray("x","foo");

+0

"property"の値を指すようにします。 基本的に、配列にホスト名を持つオブジェクトがあるかどうかを確認することができます:x –

+0

私のデモを確認してください。 – Apolo

+0

ありがとうございました! 私は基本的に同じことをやっていたが、私は searchArray(X、FOO) 私はspeechmarksにそれを置くために必要な実現していない呼び出していました。なぜかというと、 –

0

あなたが任意のオブジェクトのプロパティとして変数を使用する場合は、あなたが使用できる "" 構文あなたはそのプロパティ()を持つ配列としてそれを使用しなければなりませんなどの配列インデックス

var property = "name"; 
.... 
anyObject[property] // equals to anyObject['name'] or anyObject.name 
関連する問題