是否可以通过查询获取结果类型,例如
var titles = $(this).attr('name');
如果名称是:["str1", "str2"]
,我想确定标题是列表/数组。是否有可能,我怎么知道它是一个字符串还是数组,以及它是从数组中获取每个值的数组。
答案 0 :(得分:2)
属性的值始终是字符串,绝不是数组。如果您希望将该字符串解释为其他字符串,则需要检查它是否符合您期望的格式(可能使用正则表达式)并将其解析/转换为该格式。
例如,在您的情况下,您可能会看到它是否是有效的JSON(尽管["str1", "str2"]
是非常的name
属性的异常值元素):
var titles = $(this).attr("name");
var parsed = null;
try {
parsed = JSON.parse(titles);
}
catch (e) {
}
// Here, if `parsed` is not `null`, it was valid JSON and is the array
答案 1 :(得分:0)
解析$(this).attr('name')
的内容后。 (It's always a string)
为了检查对象是否是数组,您可以:
Array.isArray([1, 2, 3]); //TRUE
Array.isArray("Some title"); //False