3
我有一個對象數組。 (用例可能是單人紙牌)。我可以在JavaScript中使用自定義toString的對象數組嗎?
我想嵌入一個toString來調試它們。
我使用以下(簡化)來創建它們並將它們放入數組中。
var shuffledArray = [];
var myObj = {
a: "my val-a1",
b: "my val-b1",
init: function() {
this.toString = this.a + " of " + this.b;
return this;
}
}.init();
shuffledArray.push(myObj);
var myObj2 = {
a: "my val-a2",
b: "my val-b2",
init: function() {
this.toString = this.a + " of " + this.b;
return this;
}
}.init();
shuffledArray.push(myObj2);
mappableToString = function (element) {
return element.toString;
}
var shuffledArrayToString = shuffledArray.map(mappableToString);
console.log("shuffled array: " + shuffledArrayToString.join(", "));
我覺得我在做地圖步驟時出了點問題。 toString
方法上我不能只是join
?
假設:
- 我的目標使用原始的Javascript,但我開到下劃線或JQuery的。
你的代碼的工作,你期待一個不同的結果? (https://jsfiddle.net/uw12xxyp/1/) –
我擔心我沒有使用最好的模式 - 或者錯過了一些使它更復雜的東西。 – hawkeye
這樣做的「功能」方法是創建函數'toString'和'concat',並按照相同名稱的參數方法(或正確的中綴運算符),然後執行'.map(toString).reduce( concat)'FWIW,我發現你寫的是更可讀的慣用JS。 –