我有一个javascript var :(这是一个http返回的数据,我不知道它是一个数组还是字符串 - (我们怎么看?) - 更新:使用typeof返回"string",所以它是一个字符串.
[{"nomeDominio":"gggg.fa"},{"nomeDominio":"rarar.fa"}]
Run Code Online (Sandbox Code Playgroud)
我们如何将其转换/转换为以下内容:
["gggg.fa","rarar.fa"]
Run Code Online (Sandbox Code Playgroud)
?
非常感谢,MEM
您可以通过检查变量的类型来确定是字符串还是已解析的对象,例如:
ajax('url', function (response) {
alert(typeof response);
});
Run Code Online (Sandbox Code Playgroud)
您现在将确定它是a "string"
还是Array "object"
.
如果它是一个字符串,你可以使用JSON.parse
@alcuadrado建议的方法,否则你可以简单地使用数组.
几个答案建议使用该for-in
语句迭代数组元素,我不鼓励你使用它.
该for-in
语句应该用于枚举对象属性,迭代 Arrays或类似Array的对象,使用@Ken Redler建议的顺序循环.
你真的应该避免for-in
这个目的,因为:
您也可以使用该Array.prototype.map
方法来满足您的要求:
var response = [{"nomeDominio":"gggg.fa"},{"nomeDominio":"rarar.fa"}];
var array = response.map(function (item) { return item.nomeDominio; });
// ["gggg.fa", "rarar.fa"]
Run Code Online (Sandbox Code Playgroud)
这个问题是强烈相关的这一个.
我建议在那里阅读我的答案,因为它会有所帮助; 并且有一点变化,它会起作用:
var responseString = '[{"nomeDominio":"gggg.fa"},{"nomeDominio":"rarar.fa"}]',
responseObject = JSON.parse(responseString),
nombresDeDominio = [];
for(var i in responseObject) {
nombresDeDominio.push(responseObject[i].nomeDominio)
}
Run Code Online (Sandbox Code Playgroud)
Suerte!
归档时间: |
|
查看次数: |
12606 次 |
最近记录: |