如何在javascript中打印字符串
我想以下面的方式打印一个字符串“abc”,21,“email”,在javascript中我该怎么做。下面是我的代码如何在javascript中打印字符串,javascript,Javascript,我想以下面的方式打印一个字符串“abc”,21,“email”,在javascript中我该怎么做。下面是我的代码 var data = []; data.push('abc'); data.push(21); data.push('email'); 如果数据是定义为 var data = []; data.push('abc'); data.push(21); data.push('email'); 数组的使用方法通过指定分隔符来连接(连接)值 试一试 或 或者干脆 var
var data = [];
data.push('abc');
data.push(21);
data.push('email');
如果数据是定义为
var data = [];
data.push('abc');
data.push(21);
data.push('email');
数组的使用方法通过指定分隔符来连接(连接)值
试一试
或
或者干脆
var value = "'" + data.join("','") + "'" ;
document.body.innerHTML += value;
编写一个函数以引用字符串:
function quote(s) {
return typeof s === 'string' ? "'"+s+"'" : s;
}
现在映射数组并用逗号将元素粘贴在一起:
data . map(quote) . join(',')
由于使用逗号连接是将数组转换为字符串的默认方式,因此在某些情况下,您可能不需要使用连接
:
alert (data . map(quote));
因为警报
将其参数转换为字符串。同
element.textContent = data . map(quote);
现在
data=['abc',21',email']代码>
因此,我们可以使用forEach
函数
var myString = '';
data.forEach(function(value, index){
myString += typeof value === 'string' ? "'" + value + "'" : value;
if(index < data.length - 1) myString += ', ';
});
console.log(myString)
JSFiddle:这不会在21
周围加引号吗?@torazaburo是的,我的错,我错过了这个具体细节。你应该使用prv而不是使用外部变量myString。还有,这不会在结尾加上一个逗号吗?知道我为什么会得到一个负数很有趣?!因为您没有映射,所以可以使用forEach
。好的,现在我使用forEach
,顺便说一句,“forEach”更方便,但两者都是相同的!!!如果答案是错的,有些人会投反对票。无论如何,实际上,您使用reduce
的方法是正确的,就像您在编辑之前所做的那样。reduce不必声明自己的变量(myString
),而是在内部维护该变量,在循环的每次迭代中将其作为第一个参数传递给回调函数,即调用的prv
。
element.textContent = data . map(quote);
var myString = '';
data.forEach(function(value, index){
myString += typeof value === 'string' ? "'" + value + "'" : value;
if(index < data.length - 1) myString += ', ';
});
console.log(myString)
myString = data.map(function(value){
return typeof value === 'string' ? "'" + value + "'" : value;
}).join(', ');
console.log(myString);