2017-09-26 15 views
0

obj.l = [];のような通常の配列値にプッシュすることができます。 obj.l.push( "test")通常のオブジェクトでは、JavaScriptのproxyオブジェクトの配列値にプッシュする方法

例。

var prxy = new Proxy({} , { 
get(target, name){ 
    return target[name] 
}, 
set(target,name, value){ 
    target[name] = value; 
    return true; 
} 
}) 

prxy.h = {test : "test"} 
>> {test: "test"} 
prxy.h 
>>{test: "test"} 
prxy.h.push("test") 
>>VM2724:1 Uncaught TypeError: prxy.h.push is not a function 
at <anonymous>:1:8 
+2

'prxy.h'は、アレイ、' push'は、アレイの方法ではありません。 – gurvinder372

+1

pushはArrayの関数ですが、Proxyはオブジェクトです – Durga

+1

push()は配列でありオブジェクトではないため、正しいデータ構造を使用してください。 https://stackoverflow.com/questions/8925820/javascript-object-push-function –

答えて

4

オブジェクトに対して配列メソッドを使用することはできません。そして、とにかくここにポイントがないでしょう。あなただけのオブジェクトに値を追加することができたときにpush()を使用する理由はありません:

prxy.h.someKey = someValue; 
関連する問題