2014-11-05 79 views
-3

这是JavaScript中的一个基本问题。我尝试了很多玩法,但我不能解决问题。我有个数组。带双引号的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数组名作为最终,

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

现在这里查询正在形成像

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

但我需要:

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

您的浏览器可能会被输出作为'''。其他人会输出为''',你需要检查并替换你自己。 – ArtOfCode 2014-11-05 17:53:50

+1

你有没有机会寻找'JSON.stringify()'? – 2014-11-05 17:55:23

+0

这对我来说是''''。 – Bijan 2014-11-05 17:55:28

回答

0

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

+0

谢谢..但是当我使用该数组它来像['“xa”']但我需要[“xa”] – Subburaj 2014-11-05 17:59:48

1

如果您可以通过JSON刚刚经历过一定不会有问题,但如果你第一次读它作为一个字符串,您使用的字符串作为参数后,就可以使用替换功能。你可以像我在这里一样去做。 How to replace all occurrences of a string in JavaScript?

+0

我不希望它转换成字符串,因为当我在json中使用它与singelquotes .. – Subburaj 2014-11-05 17:57:43

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"] 
+0

谢谢,我得到的数组resut作为[“xa”],因为我已经说过我在json中使用这个数组,当我在json中使用这个数组时,我得到'[“xa”]'我能做什么。 – Subburaj 2014-11-05 18:17:12

+0

“在json中使用这个数组”是什么意思?目前还不清楚你想做什么。 – forgivenson 2014-11-05 18:19:46