获取对象位置内的对象
Get an object inside of an object's location
所以我有一个程序,它的对象内部有对象。我稍后需要访问对象属性,并且我为元素提供了一个名为 location 的属性来保存它。我有一个巨大的物体,看起来像这样
var story = Object()
story.s1 = {
lore:"Stuff",
choices:[
{name:"Stuff",link:{lore:"Aye",choices:[]}},
{name:"Stuff",link:{lore:"Aye",choices:[]}},
{name:"Stuff",link:{lore:"Aye",choices:[]}}
]
}
现在我有一个循环,它获取每个属性并检查它是否具有单独的属性,最终代码
如下所示story.s1.choices[1].link.lore
这是我想作为属性(数据位置或位置)作为字符串放入 HTML 元素中的位置,以便以后可以编辑该位置。当然,它只是运行代码并给我"Aye",我无法将代码转换为字符串。有什么想法如何把它变成一个字符串吗?
因此,我试图实现的是将代码转换为未解析的字符串。例如,假设 i 是 0,我想使
story.s1.choices[i].link.lore
到
"story.s1.choices[0].link.lore"
另外,这样做的一大复杂之处在于我有一个运行复杂代码的循环,如下所示:
story.eval("s"+i).choices[i].link.choices[i].link.choices[i]... etc.
为什么我需要所有这些?我要做这样的输入元素
<input location = "Put location string here" oninput = "parse(this.location)"/>
通过JavaScript制作一个编辑器来更改对象中的值,这是我正在开发的一个项目,以帮助自己创建分支故事。
与其将
你的"位置"表示为一个字符串,必须创建该字符串,然后解开,不如将其存储为一个函数,当应用于对象时,返回所需的"位置":
function pickValue(obj) {
return obj.s1.choices[0].link.lore;
}
现在你可以传递这个函数,或者把它存储在一个变量中,到时候,通过说
myLore = pickValue(story);
稍微高级一点,您可以创建一个函数,该函数创建一个函数,该函数获取第 n个选择的传说:
function makeNthPicker(n) {
return function(obj) {
return obj.s1.choices[n].link.lore;
};
}
现在你可以做
firstPicker = makeNthPicker(0);
console.log(firstPicker(story);
相关文章:
- 通过拖动可以更改三维模型对象在Three.js场景中的位置
- 如何在鼠标悬停时将对象从起始位置移动到结束位置,然后在鼠标悬停后再次移动
- 使用地理坐标,对更靠近用户的对象进行排序'的位置
- 块相对于父对象的位置
- 使用AngularJS修改对象位置只需一次
- jQuery拖动到相对位置的可排序列表中时出现可拖动辅助对象位置问题
- 为什么 javascript 返回对象位置 true 或 false
- 在MongoDB中排序后获取对象的位置
- 是否可以模拟 qUnit 测试的窗口位置对象
- 三.js使用矩阵旋转时对象位置问题
- 放大织物js,对象位置
- 获取 CSS 中指定的对象位置,以便在 jQuery 中修改
- 在HTML5/JS中获取画布对象位置并移动到画布触摸位置
- pixi.js枢轴影响对象位置
- 不能访问正确的对象位置
- 三.js:无法补间对象位置 var(获得 null 错误),但对象本身实际上是可用的
- 无法更改对象位置
- 更改对象位置的分辨率
- 获取对象位置内的对象
- 在固定的地图大小和动态对象位置上计算比例因子