textareas
の値をオブジェクトのプロパティに一致させる必要があります。 TEXTAREAのインデックスは、人のIDと等しい場合は使用されてtextarea
の値がオブジェクトと グローバル変数を使用せずに別の関数でローカル変数にアクセスする
- :場合にのみ一致する必要があります。 (私のバイオリンでCfを ブール:https://jsfiddle.net/Lau1989/hxcpstty/1/):この1内部
function make_test(name, job, ID) { var test = {}; //local variable to be used in 'function suggest(index)' test.name = name; test.job = job; test.ID = ID; return test; } new make_test("Paul", "manager", 1); new make_test("John", "employee", 2); new make_test("Jan", "employee", 2);
:
は、私は、この関数からオブジェクトtest = {}
にアクセスする必要がこれを行うには
function suggest(index) {
if (test.ID === index && test.name == thisInput.value) {
thisOutput.innerHTML = "Has job : " + test.job; //should access 'test' properties : test.name, test.job, test.ID
}
}
問題ですグローバル変数としてtest = {};
を宣言すると、宣言された最後のものであるため、function suggest(index)
は「Jan」を検索することしかできません。しかし、私がvar test = {};
をローカル変数として宣言すれば、function suggest(index)
は外部からvar test = {};
にアクセスすることができないので、まったく動作しません。
これは私が立ち往生した場所です。私の目標は、name
とID
に応じて、suggest()
のvar test = {};
にアクセスしてすべての人の仕事を取得することです。あなたの助け
すべての人への参照を保持する配列が必要です。従業員IDが一意の場合は、配列の代わりにオブジェクトを使用することができます。また、関数を呼び出すときに 'new'は必要ありません。だから: 'var employees = []; employees.push(make_test(...)); '。 – nnnnnn
@Jecoms OPが「提案する」機能に関して別の質問をすることが示唆されたhttp://stackoverflow.com/questions/39968429/dynamically-access-function-object-property#comment67216922_39968451 – guest271314
@nnnnnn:これは私がやろうとしたことです最初は、配列内のオブジェクトをプッシュしない限り、それらのプロパティ(ジョブとID)に必要な他の2つのプロパティはありません。私は当初、オブジェクトの配列の反復処理にオブジェクトを使用することを避けたかったのですが、オブジェクトに複数の同じ結果が印刷されることになります。私はまだjavascriptで私の知識を広げようとしているので、私は間違っているかもしれません – Lau