我无法将其设置为正确的格式。
我有这个:
$.ajax({
url: 'att_count_2.php',
type: 'GET',
dataType: 'JSON',
data: allvars[0],
success: function(data) {
var export_data = [];
$('#export').click(function() {
$.each(data, function (key, value) {
var export_data = value.exuid;
console.log(export_data);
//var final_one = export_data.join(",")
});
});
console.log为符合我条件的exuid
分别提供了一行代码。像这样:
9a2234e4-cfc8-47da-b03a-0ed52e80f0e2
4d06e206-261b-4774-b553-6785f13cd64e
1ec1c7ea-85f4-4ba4-ab70-bf1e56cf9bd2
这很有效。但是,我需要的是:
[9a2234e4-cfc8-47da-b03a-0ed52e80f0e2,4d06e206-261b-4774-b553-6785f13cd64e,1ec1c7ea-85f4-4ba4-ab70-bf1e56cf9bd2]
如果我取消注释上面的join
语句,则会抛出错误:
Uncaught TypeError: undefined is not a function
我在这里做错了什么?
答案 0 :(得分:2)
注释掉的代码试图在join
对象上调用string
方法,该方法不存在(或者更确切地说是undefined
),因此会收到您收到的错误消息。
当尝试将追加数据添加到数组时,您需要使用push
之类的,
success: function(data) {
...
var export_data = [];
$('#export').click(function() {
$.each(data, function (key, value) {
export_data.push(value.exuid);
});
});
答案 1 :(得分:2)
您可以使用map
方法将每个项目的属性转换为新数组:
$('#export').click(function() {
var final_one = $.map(data, function (value) {
return value.exuid;
});
// use final_one
});
答案 2 :(得分:1)
说
var export_data = value.exuid;
您每次都要重新分配您的export_data数组。 你想要做的是将元素添加到export_data数组,如下所示:
export_data.push(value.exuid);