質問:for a lookが終了した後にキー名を保持するにはどうすればいいですか? "for"の範囲外の変数にキー文字列を割り当てると、数値に変換されます。これを防止してキー名を維持する方法はありますか?おかげ「for」のスコープ外にオブジェクトキー名を保持するにはどうすればよいですか? Javascript
例:
var lastItem = undefined;
function getKeyNames(obj, key, val) {
var objects = [];
for (var i in obj) {
if (!obj.hasOwnProperty(i)) continue;
if (typeof obj[i] == 'object') {
lastItem = i;
objects = objects.concat(getObjects(obj[i], key, val));
} else if (i == key && obj[key] == val) {
alert (lastItem);
objects.push(obj);
}
}
return objects;
}
alert (lastItem);
警戒関数内(およびための内側)キーの実際の文字列名をoutputesが、私は、関数の外に警告するとき、私は番号を取得します。任意のアイデアキーの文字列名を保持する方法は?ただ、私はオブジェクトの値ではなく、キーの実際の名前について話しています。
コードが不完全です。 'getKeyNames()'はどこで呼びますか? – slebetman
最初のif文の後に字下げを行うと、構文エラーが混乱します(閉じた中括弧が多すぎます)。それを修正できますか? – maerics
また、「getObjects」関数はどのように定義されていますか? – maerics