带双引号的javascript数组值

时间:2014-11-05 17:51:21

标签: javascript arrays

这是JavaScript中的基本问题。我尝试了很多,但我无法解决这个问题。

我有一个数组。

var keys = ["a", "b", "c"];
var array =[];

我正在循环此键以形成另一个数组

for (var i =0; i<keys.length; i++){
array[i]= "x" + keys[i];
}

如果我打印这个数组

我得到了['xa'];,但我需要的是["xa"] 唯一的区别是quotes "" ..

为什么因为我必须在另一个json中使用这个数组和双引号一样。提前谢谢..

将我的json数组名称视为final,

var query = {
            "_source": {
                "include": final
              }.

否则这里的查询形成了

var query = {
            "_source": {
                "include": '["xa"]'
              }

但我需要:

var query = {
            "_source": {
                "include": ["xa"]
              }

3 个答案:

答案 0 :(得分:1)

如果你只能通过via json传递它一定不是问题,但是如果你第一次把它作为一个字符串读出来,并且在你使用该字符串作为参数之后,你可以使用replace函数。你可以像我在这里一样做到这一点。 How to replace all occurrences of a string in JavaScript?

答案 1 :(得分:0)

使用单引号并在其中加入双引号。   array [i] ='“x'+ keys [i] +'”';

答案 2 :(得分:0)

我认为您对在控制台中看到的内容感到困惑。字符串本身并不具有与它们相关联的单引号或双引号。因此,如果您的浏览器将其显示为['a','b','c']["a","b","c"],则无关紧要。该数组仍包含相同的内容。您所关心的是如何将其转换为字符串,如您在问题中所述。你说你需要它使用双引号。尝试使用JSON.stringify()。您会注意到这会以您想要的格式输出一个字符串。这是一个简短的例子:

var myArray = ['a', 'b', "c"];
// notice I even used a mix of single and double quotes in the declaration
var arrayAsString = JSON.stringify(myArray);
console.log(arrayAsString);

输出将是:

["a","b","c"]