我有一个类似的数组
arr=["japan","china","india"];
我想把它转换成像这个一样的字符串
str="'japan','china','india'"
join((不能完全满足我的要求,因为它给出的结果如下。。
str="japan,china,india"
有什么帮助吗。。。。
使用reduce并继续向累加器添加。
let res = arr.reduce((acc,curr,ind) => acc += (ind == arr.length -1) ? `'${curr}'` :`'${curr}',` ,'')
Yop,
你可以使用这样的东西:
['japan', 'china', 'india'].map(country => `'${country}'`).toString();
// output: 'japan','china','india'
.map将引用数组中的每个元素,然后.toString将连接所有数组元素(如果您希望在元素之间使用另一个分隔符,则可以使用.connect(。
声明变量时,始终使用var
或let
:
let arr = ["japan","china","india"];
let str = arr.map(x => "'" + x + "'").join(); // 'japan','china','india'
arr.reduce((acc,val, index) => {
if (index === 0 ) {
acc = acc + `'${val}'`
} else {
acc = acc + `, '${val}'`
}
return acc;
},'');
试试这个:
<script>
let arr = ["japan", "china", "india"];
let str = '';
for (let i = 0; i < arr.length; i++) {
if (i < arr.length-1)
str += "'" + arr[i] + "'" + ",";
else
str += "'" + arr[i] + "'";
}
console.log(str);
</script>