var obj = { 'first':'1st', 'second':'2nd', 'third':'3rd', ...}
我知道访问对象属性的值是......
obj.first || obj["first"] //returns '1st' as a value
我想弄清楚的是如何在没有遍历整个 var obj 的情况下将属性作为值访问,以创建具有该属性的新 var 用值切换。这只是一个全新的对象。
这可能吗?我有足够的背景吗?我将不胜感激任何帮助。
答案 0 :(得分:0)
由于一个对象是'c' != 'e' != 'g'
,你可以将整个对象键拉入一个数组,然后拉出一个适合你的对象..
使用Object
方法,您可以访问对象的键,然后使用Object.keys()
方法提取适合您的方法。
Array.indexOf()
答案 1 :(得分:0)
如果我理解正确,您希望将对象属性绑定到另一个对象的属性,以便o1.first
更改o2.first
时自动更改。通过安排o1.first
属性的设置者,这是可能的。使用对象文字实现此目的的简单方法就像
var o1 = {
_first: "1st",
second: "2nd",
third: "3rd",
get first() {
return this._first
},
set first(v) {
this._first = v;
o2.first = v;
}
},
o2 = {first:""};
console.log(o1) // Object {_first: "1st", second: "2nd", third: "3rd"}
console.log(o2) // Object {first: ""}
o1.first = yes;
console.log(o1) // Object {_first: "yes", second: "2nd", third: "3rd"}
console.log(o2) // Object {first: "yes"}
o1["first"] = "once again"; // "once again"
console.log(o2["first"]); // "once again"
有关JS对象getter和setter的更多信息,请查看https://robertnyman.com/javascript/javascript-getters-setters.html