如何使用JQuery向JSON添加子数组?
我试图创建一个JSON对象,如下所示:如何使用JQuery向JSON添加子数组?,jquery,json,maps,Jquery,Json,Maps,我试图创建一个JSON对象,如下所示: var request = { location : pyrmont, radius : '50000', types: ['amusement_park', 'store'] //Here I want to replace with a javascript array }; 这个JSON可以很好地作为GoogleMapsAPI的输入,但是当我尝试用 这样的javascript数组会失败。感谢您的帮助 var allVals
var request = {
location : pyrmont,
radius : '50000',
types: ['amusement_park', 'store'] //Here I want to replace with a javascript array
};
这个JSON可以很好地作为GoogleMapsAPI的输入,但是当我尝试用
这样的javascript数组会失败。感谢您的帮助
var allVals = [];
$('#geo_form :checked').each(function() {
allVals.push("'" + $(this).val() + "'");
});
alert("allVals -> " + allVals); //allVals -> 'amusement_park','lodging'
var request = {
location : pyrmont,
radius : '50000',
//types: ['amusement_park', 'store']
types: [allVals]
};
allVals
已经是一个数组,不需要在request
对象中用括号括起来。通过将数组括在括号中,可以将allVals
数组设置为新数组的最零索引
var request = {
location : pyrmont,
radius : '50000',
types: allVals
};
此外,将值推送到数组中时,不需要将其括在引号中,因为它已经是字符串
对象
事实上,通过最初在请求对象内创建一个空数组,并通过直接访问属性推送到对象上,可以避免在请求对象外声明变量
示例:
var request = {
types : []
};
request.types.push($(this).val());
对于大多数数据结构问题,明智的做法是将对象打印到控制台调试器,以查看对象中包含哪些值。Firefox有流行的firebug,Chrome,Opera和IE的新版本都内置了控制台调试器。使用方法
console.log(arg)
打印 allVals
已经是一个数组,您不需要在请求
对象中用括号括起来。通过将数组括在括号中,可以将allVals
数组设置为新数组的最零索引
var request = {
location : pyrmont,
radius : '50000',
types: allVals
};
此外,将值推送到数组中时,不需要将其括在引号中,因为它已经是字符串
对象
事实上,通过最初在请求对象内创建一个空数组,并通过直接访问属性推送到对象上,可以避免在请求对象外声明变量
示例:
var request = {
types : []
};
request.types.push($(this).val());
对于大多数数据结构问题,明智的做法是将对象打印到控制台调试器,以查看对象中包含哪些值。Firefox有流行的firebug,Chrome,Opera和IE的新版本都内置了控制台调试器。使用方法
console.log(arg)
打印 展开:[]是“new Array()”的缩写,所以当您键入[allVals]时,您要求它发送的是“new Array(allVals)”,它创建了数组(0=Array(/*allVals键和值在这里*/))展开:[]是“new Array()”的缩写,所以当您键入[allVals]时,您要求它发送的是“new Array(allVals)”,这将创建数组(0=数组(/*allVals键和值在此处*/)。如果这回答了您的问题,请单击复选标记。:)如果这回答了您的问题,请单击复选标记。:)