-2

给定一个数组,如:['a', 'b']

我想得到'a','b'- 这是因为我想将该结果插入到INsql 查询中。我试过myVar.join(',')了,但没有'a,b'返回'a', 'b'

4

5 回答 5

1

只需使用 map 在每个元素上加上引号,然后加入。

    console.log(['a','b'].map(a=>"'"+a+"'").join(","))

在这里学习所有 Array 方法:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

于 2018-07-27T16:13:45.917 回答
1

您可以map()它添加引号,然后join()结果:

let arr =  ['a', 'b']
console.log(arr.map(l => `'${l}'`).join(','))

于 2018-07-27T16:14:17.020 回答
0

你可以试试这个,不是那么优雅,但它有效..

var letters = ['a', 'b'];
letters = '\''+letters.join('\',\'')+'\'';
alert(letters);
于 2018-07-27T16:20:23.200 回答
0

如果你可以使用 ES6/ES2015,你可以去:

const myQuery = `'${myVar.join("','")}'`;
于 2018-07-27T16:17:00.493 回答
0

<script>
var array = ['a', 'b'];
console.log(convertArray(array));
function convertArray(arr){
  var str = "";
  for(let i = 0; i < arr.length; i++){
  if(i+1<arr.length){
   str += "'"+arr[i]+"',";
   } else {
    str += "'"+arr[i]+"'";
   }
   }
   return str;
}
</script>

于 2018-07-27T16:17:25.350 回答