2010-05-11 38 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(""); 
相關問題