我尝试链接一些数组和字符串方法,但是它不起作用。如果有人可以向我解释为什么这样的功能不起作用,那就太好了:
const scream = text => text.split('').push('!').join('').toUpperCase()
答案 0 :(得分:5)
您可以使用Array#concat
返回具有另一个值而不是Array#push
的数组,该数组返回新的长度,但不属于fluent interface的一部分,以便以后进行联接(需要数组)。
const scream = text => text.split('').concat('!').join('').toUpperCase();
console.log(scream('hi'));
答案 1 :(得分:3)
推不返回数组。这是一个示例,演示了push的操作,并显示了另一种方法:
const scream = text => text.split('').push('!').join('').toUpperCase()
const test = ['a', 'b', 'c'];
const result = test.push('!')
console.log(result)
const newScream = text => [
...text,
'!'
].join('').toUpperCase()
newScream('hello')
console.log(newScream('hello'))
答案 2 :(得分:3)
如果要在末尾添加1个!
:
const scream = text => text.split('').concat('!').join('').toUpperCase();
如果要在每个字母后添加它:
const scream = text => text.split('').map(e => e + '!').join('').toUpperCase();
push
不返回数组,因此在您的情况下不会在数组上调用join
。
答案 3 :(得分:1)
如果要在字符串末尾添加字符/字符串,请使用concat(<ch>)
函数。如果要将大小写更改为upper
,请使用toUpperCase()
函数。
或
只需使用+
运算符即可合并两个字符串,并在其后附加!。
var str = "Hello World";
var res = str.toUpperCase().concat("!");
var result = (str + '!').toUpperCase();
console.log(res);
console.log(result);