新手问题 js 有没有什么方法和 Rails 的 permit 一样,可以获取 Object 内的某几个属性?

wcp1231 · 2013年12月02日 · 最后由 wcp1231 回复于 2013年12月03日 · 2744 次阅读

如题。js 一行一行写感觉太丑了。。。

我想最简单的办法应该是这样了吧:

var js_obj = <%= @rails_obj.to_json %>;

然后自己看看 js_obj 里面有啥吧

#1 楼 @nightire 我写的不是 rails,而是 angular。我没说清楚。。。 有一个 js 的对象,里边有不少属性,现在只想取出部分属性,如何写比较好?有没有像 permit 那样传 keys 可以返回对应的结果的? 我想到的只有:

var obj = {A:'a', B:'b', C:'c', FOO:'foo‘, BAR:'bar'......};
var data = {
  B: obj.B,
  C: obj.C,
  BAR: obj.BAR
  ......
};

这样的,感觉有点麻烦。。

Rei 给出了答案了. underscore.... awesome!

#2 楼 @Rei 哦!谢谢!

#3 楼 @wcp1231 我也遇到类似的场景,最后因为 json 数据不算多忍忍直接整个 obj 一起 post 了,反正 permit 总是要由后端完成的,前端 filter 出来只是省了点带宽……

#6 楼 @aptx4869 后台不是我写的,也不是 rails,更改不了。。而且传多了参数还会 500,我都无语了。。。

8楼 已删除

[attr1, attr2, attr3].forEach(function(el) {return target[el]})

更麻烦哈哈

#10 楼 @wcp1231 你可以自己包装一个用

#11 楼 @pepsin 嗯。。我打算看 underscore 的对应源码,然后直接用pick。。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册