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

wcp1231 · December 02, 2013 · Last by wcp1231 replied at December 03, 2013 · 3120 hits

如题。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!

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

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

8 Floor has deleted

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

更麻烦哈哈

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

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

You need to Sign in before reply, if you don't have an account, please Sign up first.