javascript检查属性的类型

时间:2017-05-17 07:47:38

标签: javascript jquery

是否可以通过查询获取结果类型,例如

var titles = $(this).attr('name');

如果名称是:["str1", "str2"],我想确定标题是列表/数组。是否有可能,我怎么知道它是一个字符串还是数组,以及它是从数组中获取每个值的数组。

2 个答案:

答案 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