2010-05-11 37 views
0

我有一个Web应用程序,它有两个文本区域。当一个文本区域收到mousedown事件时,将设置变量“side”,即“左”或“右”。当用户选择文本区域中的一些文本时,会创建三个字符串。一个用于选择开始之前的文本,选择本身以及选择之后的文本结束。设定一函数返回这些是这样的:使用变量来决定数组中的哪个对象获取属性?

return { head: head_text, tail: tail_text, sel: sel_text, side: text_side } 

现在,我已经创建了一个数组,我希望它出现在这样一种方式,我们得到,text.left({“头”:“四评分“,”选择“:”和七“,”尾巴“:”几年前。“))我假设我会这样做text.side = getSelection(),但我怎么得到它来评估变量”一边“,而不是思考它作为“文本”内的对象?

编辑: 好的,只是为了澄清,我可能是完全错误的,我的想法是如何工作的,但在这里。我想让一个函数可以在文本中看到“文本”两个对象,“左”和“右”,然后评估每个对象的头部,尾部和尾部。使用两个对象会更容易吗?

+0

它真的很难真正了解你所要求的在这里..例如做,你说你有一个数组(哪里?),并且你希望它以'..'的方式出现。这是什么意思? – 2010-05-11 22:32:55

回答

0

我不完全确定我明白这个问题。不过,我想你想使用一个字符串来访问一个对象的属性。

JavaScript中允许你这像一本字典:

text["head"] = "four score"; // set's "four score" to the head property of text 

text[side] = "your selection"; // where side is a property name 

编辑:

在回答您的编辑,这将是更容易地创建一个对象有两个属性并为每个属性分配一个对象。像下面这样:

var text = {}; 
text.left = getHeadSelTail("left"); 
text.right = getHeadSelTail("right"); 

,你现在可以使用

text.left.head = "four score"; 

和左头使用

text.right.head = "erocs ruof"; 
0

我是正确的假设您想要包含values数组权头的领域headselectiontail? ,你可以使用

var myObject = ....// the method with the return statement from your question 
var myArray = [myObject.head, myObject.selection, myObject.tail]; 

现在如果你想整个字符串你可以再次使用

var myText = myArray.join("");