使用 javascript 遍历数组 [重复]
Posted
技术标签:
【中文标题】使用 javascript 遍历数组 [重复]【英文标题】:Iterating thru an array using javascript for [duplicate] 【发布时间】:2012-08-15 12:07:53 【问题描述】:如何在 jquery 中使用“for”遍历这样的数组。这个让我完全迷失了。我不知道如何从这样的数组中取出这些值,也无法更改数组的完成方式。
//php
$errors['success'] = false;
$errors['#errOne'] = "Enter a valid username";
$errors['#errTwo'] = "Enter a valid email";
$errors['#errThree'] = "Enter a valid password";
echo json_encode($errors);//
dataType:"json",
cache:false,
success: function(data)
for (i=1; i<?; i++)//Start at 1
//I'm totally lost here.
//Output: "#errOne" "Enter a valid username" ->Loop thru remaining messages
,
【问题讨论】:
小心i
是全球性的,使用var
。
【参考方案1】:
由于您将数据作为参数传递,因此您可以访问数据
试试这样的:
var $errors = ;
$errors['success'] = false;
$errors['#errOne'] = "Enter a valid username";
$errors['#errTwo'] = "Enter a valid email";
$errors['#errThree'] = "Enter a valid password";
data : $errors;
success: function(data)
for (var i in data )
console.log(i + ':' + data[i]);
【讨论】:
@some 我在第一行本身创建对象。你认为我在哪里滥用 javascript 中的数组? 这是我需要的 99%。唯一的问题是:知道如何从 [1] 而不是 [0] 开始吗?【参考方案2】:也许你需要这个:
success: function(data)
$.each(data, function(key, value)
alert(key + ': ' + value);
);
【讨论】:
我从哪个 $.each 开始。如果我们能告诉 $.each 从哪里开始——从 [0] 或 [1] 开始,那就太好了。例如:for (i=1;... 在不同的浏览器中数据的排序会有所不同。在 FF 中它会保持原样,但 Chrome 会自动按键对数据进行排序。所以在不同的浏览器中,第一个元素会有所不同【参考方案3】:for (var key in data)
alert(key); // gives keys success, #errOne, #errTwo, #errThree
alert(data[key]); // gives values false, Enter a valid username, Enter a valid email, Enter a valid password
【讨论】:
当使用 for (var key in data) 时,我们可以告诉它从 [1] 而不是 [0] 开始吗?例如:for (i=1;...【参考方案4】:如果你的 PHP 代码是这样的:
// Use $errors = array(...) if your PHP version is < 5.4
$errors = [
'success' => false, // Why is 'success' part of the $errors array?
'error_1' => 'Enter a valid username.',
'error_2' => 'Enter a valid email.',
'error_3' => 'Enter a valid password.'
];
print json_encode($errors);
,然后在您的 JavaScript 中,您可以执行以下操作:
$.ajax(
'url': 'your.url.com/data.json',
'dataType': 'json',
'cache': false, // Why are you doing this?
'success': function (json_data)
var i = json_data.length;
while (i--)
alert(json_data[i]); // Or whatever you want to do with the data.
);
我很确定这是最好的方法之一。如果我错了,请有人纠正我。
【讨论】:
以上是关于使用 javascript 遍历数组 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
forEach 在javascript中同时循环遍历两个数组[重复]
无法遍历我的数组/对象。 Javascript,React Native [重复]