这是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"]
}
答案 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"]