2016-07-09 5 views
-2
var object = { 
     mastermind : "Brain", 
     henchman: "Pinky", 
     battleCry: function (noOfBrains) { 
     return "They are " + this.henchman + " and the" + 
       Array(noOfBrains + 1).join(" " + this.mastermind); 
    } 
}; 

var battleCry = object.battleCry(4); 

-array()。join()は次のコードで何をしますか?

())(参加リターン配列なぜあなたは説明できます:

  • 正しいは: "彼らはピンキーと脳脳脳脳です"
  • 正しくない:「彼らはピンキーと5つの脳です」
+2

5項目 'Array'が "脳"' 'と結合されているので。 – ftor

+0

答えをもう少し詳しく解説してください。また、「this.mastermind」が「Brain」を指していることは明らかです。 – Joan

+1

「このコードは何をしているのですか」という話題は私には見えません。あなたがしなければならないのは、コードを実行するだけです。これは誰にも役立たない。 – derloopkat

答えて

1

array().join()として出力を表示しますなります。オプションで、区切り文字を指定して要素を区切ることができます。

Array(noOfBrains + 1)は、あなたの例では4 + 1 = 5の項目で新しい配列を作成しますが、コードに何も割り当てられていないので、これら5つの項目はすべて空です。だからあなたのコードは区切り文字として "Brain"を使って5つの空文字列を結合しています。基本的に、この関数は実際には、渡した回数だけmastermindプロパティに割り当てられた任意の文字列のリピータです。

1

これは、定義されていない要素で指定された長さの配列を作成します。 5つの要素を一緒に接合されている5のこの例示的な長さが4つの区切り文字であり、それぞれはデリミタである「脳」

var dummyArray = Array(5); 
 

 
console.log("Our Dummy Array"); 
 
console.log(dummyArray); 
 
console.log(); 
 

 
console.log("Our Dummy Array Joined More Conventially"); 
 
console.log(dummyArray.join(",")); 
 
console.log(); 
 

 
console.log("Our Dummy Array Joined More Brainly"); 
 
console.log(dummyArray.join(" Brain")); 
 
console.log();

1

あるArray(noOfBrains + 1).join(" " + this.mastermind)

this.mastermindの「脳の文字列が含まれているので "となります。
およびnoOfBrainsは「4」です。

がので、Array(5).join(" Brain")Array(4+1).join(" " +"Brain")は、1つの文字列に一緒に配列のすべての要素を結合するために使用されるBrain Brain Brain Brain

0

アレイは、いくつかの文字列の接着剤を使用して文字列に配列のすべての要素を結合に参加します。

var a = ['one', 'two', 'three']; 
console.log(a.join(', ')); 

「1,2,3」と表示されます。あなたのケースの接着剤で

は「脳」です。配列は[5]です - 私は5(4 + 1 = 5)である1つの要素を持つ配列を意味します。あなたには、いくつかの文字列2回以上繰り返す必要がある場合に、[5] .join(」脳)= "5"

、あなたはString.repeat(回)を使用することができます。あなたのケースでは

var bcObject = { 
    mastermind : "Brain", 
    henchman: "Pinky", 
    battleCry: function (noOfBrains) { 
     return "They are " + this.henchman + " and the" + 
      (' ' + this.mastermind).repeat(noOfBrains); 
    } 
}; 

var battleCry = bcObject.battleCry(4); 
関連する問題