Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中打印字符串_Javascript - Fatal编程技术网

如何在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

我想以下面的方式打印一个字符串“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 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);