You are making a text encryptor. It should take multiple words and output a combined version, where each word is separated by a dollar sign
$
. For example, for the words "hello", "how", "are", "you", the output should be "$hello$how$are$you$". The given code declares a class namedAdd
, with a constructor that takes one rest parameter. Complete the code by adding aprint()
method to the class, which should generate the requested output.
My code:
class Add {
constructor(...words) {
this.words = words;
}
//What method to use and how?
}
var x = new Add("hehe", "hoho", "haha", "hihi", "huhu");
var y = new Add("this", "is", "awesome");
var z = new Add("lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit");
x.print();
y.print();
z.print();
CodePudding user response:
If this.words is an array of words, then the print method would simply join the words together with a "$" separator as seen here in this code snippet:
//My code :
class Add {
constructor(...words) {
this.words = words;
}
//What method to use and how?
print(){
console.log('$' this.words.join('$') '$')
}
}
var x = new Add("hehe", "hoho", "haha", "hihi", "huhu");
var y = new Add("this", "is", "awesome");
var z = new Add("lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit");
x.print();
y.print();
z.print();
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>
CodePudding user response:
class Add {
constructor(...words) {
this.words = words;
}
//What method to use and how?
print(divider = '$') {
console.log(`${divider}${this.words.join(divider)}${divider}`);
}
}
var x = new Add("hehe", "hoho", "haha", "hihi", "huhu");
var y = new Add("this", "is", "awesome");
var z = new Add("lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit");
x.print();
// $hehe$hoho$haha$hihi$huhu$
y.print();
// $this$is$awesome$
z.print();
// $lorem$ipsum$dolor$sit$amet$consectetur$adipiscing$elit$