使用javascript对数组进行迭代

使用javascript对数组进行迭代,javascript,jquery,Javascript,Jquery,如何在jquery中使用“for”遍历这样的数组。这一次我完全迷路了。我不知道如何从这样的数组中获取这些值,也无法更改数组的执行方式 //Php $errors['success'] = false; $errors['#errOne'] = "Enter a valid username"; $errors['#errTwo'] = "Enter a valid email"; $errors['#errThree'] = "Enter a valid password"; ech

如何在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
}   
},

由于您将数据作为参数传递,因此可以访问数据

试着这样做:

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]);
    }

由于您将数据作为参数传递,因此可以访问数据

试着这样做:

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]);
    }
也许你需要这个:

success: function(data){
    $.each(data, function(key, value) { 
        alert(key + ': ' + value); 
    });
}
也许你需要这个:

success: function(data){
    $.each(data, function(key, value) { 
        alert(key + ': ' + value); 
    });
}

如果您的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);

我很确定这是最好的方法之一。如果我错了,请有人纠正我。

如果您的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);

我很确定这是最好的方法之一。如果我错了,请有人纠正我。

小心,我是全局的,请使用var。小心,我是全局的,请使用var。@some,我正在第一行创建对象本身。你认为我什么时候滥用javascript中的数组?这是我需要的99%。唯一的问题是:知道如何从[1]而不是[0]开始吗?@我在第一行中创建了一些对象本身。你认为我什么时候滥用javascript中的数组?这是我需要的99%。唯一的问题是:你知道如何从[1]而不是[0]开始吗?我从每个美元开始。如果我们能告诉$each从何处开始(在[0]或[1]),那就太好了。例如:对于i=1;。。。在不同的浏览器中,数据的排序将不同。在FF中,它将保持原样,但Chrome将自动按键对数据进行排序。因此,在不同的浏览器中,第一个元素将是不同的,从每个$开始。如果我们能告诉$each从何处开始(在[0]或[1]),那就太好了。例如:对于i=1;。。。在不同的浏览器中,数据的排序将不同。在FF中,它将保持原样,但Chrome将自动按键对数据进行排序。因此,在不同的浏览器中,第一个元素将是不同的。当在数据中使用var键时,我们可以告诉它从[1]开始,而不是从[0]开始吗?例如:对于i=1;。。。在数据中使用for var键时,我们是否可以告诉它从[1]开始,而不是从[0]开始?例如:对于i=1;。。。