javascript - 如何在 Javascript 中推送代理对象中的数组值

标签 javascript ecmascript-6

在普通对象中,我们可以推送到普通数组值,如 obj.l =[]; obj.l.push("测试")

示例。

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

最佳答案

您不能在对象上使用数组方法。无论如何,这里确实没有意义。当您只需将值附加到对象时,就没有理由使用 push():

prxy.h.someKey = someValue;

或者使用动态 key :

var dynamicKey = "car";
prxy.h[dynamicKey] = someValue;

关于javascript - 如何在 Javascript 中推送代理对象中的数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46427496/

相关文章:

javascript - meteor : "cannot read property ' xxx' of undefined"& 用变量替换字符串

javascript - 通过 Lodash 从数组创建对象映射

javascript - 这个ES6函数的含义或解释是什么

javascript - 使用嵌套 var 的 block 作用域显示不同的错误

javascript - 在 React 中使用 map 创建组件

typescript - 使用类构建 redux store 有缺点吗?

javascript - 解构导入语句

php - 如何重构 AJAX 搜索表单

javascript - 按类获取ID中的元素

javascript - 水平滚动图像缩略图并在鼠标悬停时弹出图像