使用运算符验证jQuery中是否存在数组?
我有一个来自ws的数组响应,我在响应中寻找一个精确的对象,所以当找不到该对象时,jQuery会给我一个错误。我试图用| |和?:运算符进行验证,但它不尊重它,并且它继续给我错误 这是我的回答的一个例子:使用运算符验证jQuery中是否存在数组?,jquery,html,Jquery,Html,我有一个来自ws的数组响应,我在响应中寻找一个精确的对象,所以当找不到该对象时,jQuery会给我一个错误。我试图用| |和?:运算符进行验证,但它不尊重它,并且它继续给我错误 这是我的回答的一个例子: [{ "vehicle_id": 771004720190304, "schema_id": 301, "language_id": 18, "content": "04 mar. 2019" }, {
[{
"vehicle_id": 771004720190304,
"schema_id": 301,
"language_id": 18,
"content": "04 mar. 2019"
},
{
"vehicle_id": 771004720190304,
"schema_id": 601,
"language_id": 18,
"content": "Todo terreno de 5 puertas con distancia corta entre los ejes"
},
{
"vehicle_id": 771004720190304,
"schema_id": 701,
"language_id": 18,
"content": "Capacidad para siete pasajeros"
},
{
"vehicle_id": 771004720190304,
"schema_id": 1101,
"language_id": 18,
"content": "16 bocinas BOSE, subwoofer y sonido envolvente"
},
{
"vehicle_id": 771004720190304,
"schema_id": 1301,
"language_id": 18,
"content": "AM/FM, Audífonos Inalámbricos, pantalla táctil y pantalla a color"
}]
我在阵列内部观察如下:
第一次尝试
table.append(
$("<tr>")
.append(
'<td><input type="checkbox" checked></td>'+
'<td>Body style</td>'+
'<td>'+ response.find(characteristic => characteristic.schema_id == 601 ).content || " " +'</td>'
),
第二次尝试
table.append(
$("<tr>")
.append(
'<td><input type="checkbox" checked></td>'+
'<td>Body style</td>'+
'<td>'+ response.find(characteristic => characteristic.schema_id == 601 ).content ? response.find(characteristic => characteristic.schema_id == 601 ).content : " " +'</td>'
),
当找不到对象时,我希望td中的值为null,但我给出了一个错误,表为null。使用find,然后检查匹配: 答复=[{ 车辆识别号:771004720190304, schema_id:301, 语言:18, 内容:2019年3月4日 }, { 车辆识别号:771004720190304, 模式识别号:601, 语言:18, 内容:东海岸5号公路 }, { 车辆识别号:771004720190304, 模式识别号:701, 语言:18, 内容:Capacidad para siete pasajeros }, ]; table=$‘table’; 对于[701401]中的e{ 让item=response.find{schema_id}=>schema_id==e; 表1.1追加 $ 追加 + “身体风格”+ +项目?项目内容:+ , ; }
你能详细介绍一下吗?但是我给出了一个错误,并且表为null。第一次尝试似乎没有问题,除了在找到内容时缺少结束符。记住你的订单operations@KevinB控制台响应中有此erorr。查找。。。未定义,并且即使已经找到其他objectsAh,表体也没有行,因此您的问题都与您提供的大多数代码无关。你确定响应是数组吗?是的,是的,检查示例,我的真实响应是200个对象,所以我需要在他体内进行搜索。啊,所以在你的数组中找不到任何东西。好的,您的代码很好,很可能值根本不在数组中。未定义时不能执行.content,因此必须测试.find的结果。它不是一个普通对象,而是一个数组。@msg对,内容是普通对象,但响应是一个数组,实际上有一个find方法。您也可以使用filter方法,而不必将其不必要地包装到jquery集合中。