简体   繁体   English

如何将字符串数组的元素转换为在 javascript 中以单引号和逗号分隔元素的字符串

[英]How to convert elements of a string array into a string with elements in single quotes and comma seperated in javascript

I have an array like this我有一个这样的数组

      arr=["japan","china","india"];

i want to convert it into a string like this我想把它转换成这样的字符串

      str="'japan','china','india'"

join() wouldnt fullfill my requirement as it gives result like below.. join() 不会满足我的要求,因为它给出的结果如下..

      str="japan,china,india"

Any help pls....任何帮助请......

Use reduce and continue adding to the accumulator.使用reduce并继续添加到累加器。

let res = arr.reduce((acc,curr,ind) => acc += (ind == arr.length -1) ? `'${curr}'` :`'${curr}',` ,'')

When declaring variables always use var or let :声明变量时始终使用varlet

let arr = ["japan","china","india"];
let str = arr.map(x => "'" + x + "'").join(); // 'japan','china','india'

Yop,哟,

You can use something like this:你可以使用这样的东西:

['japan', 'china', 'india'].map(country => `'${country}'`).toString();
// output: 'japan','china','india'

The.map will quote each element of your array, then the.toString will join all the array elements (you can use.join instead if you want another seperator between your elements). .map 将引用数组的每个元素,然后 .toString 将连接所有数组元素(如果要在元素之间使用另一个分隔符,可以使用 .join 代替)。

arr.reduce((acc,val, index) => {
if (index === 0 ) { 
acc = acc + `'${val}'`
} else {
acc = acc + `, '${val}'`
}
return acc;
},'');

Try this:尝试这个:

<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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM