JavaScript:用于数组中的循环数组

时间:2016-06-27 09:53:12

标签: javascript arrays

我需要创建一个变量,它通过for循环将数组存储在数组中,以将图表数据传递给图表。

考虑我有一些JSON数据,我试图通过以下过程获取所有数据

add: function (e, data) {
    var goUpload = true;
    var file = data.files[0];
    if (!(/\.(gif|jpg|jpeg|png)$/i).test(file.name)) {
        $(this).closest('tr').find('td:first').prepend('<div class="alert alert-danger text-justify"><ul class="list-unstyled"><li><span class="glyphicon glyphicon-exclamation-sign"></span> Seuls les types de fichiers suivants sont autorisés : .gif ; .jpg ; .jpeg ; .png</li></ul></div>');
        goUpload = false;
    }
    if (file.size > 2000000) {
        $(this).closest('tr').find('td:first').prepend('<div class="alert alert-danger text-justify"><ul class="list-unstyled"><li><span class="glyphicon glyphicon-exclamation-sign"></span> La taille maximale autorisée par fichier est de 2 Mo</li></ul></div>');
        goUpload = false;
    }
    if (goUpload === true) {
        data.submit();
    }
},
done: function (e, data) {
    var file = data.files[0];
    console.log(data.files[0]);
    console.log(data.result.files); // always undefined ...
    $(this).closest('tr').find('input[type=text]').val(file.name.substr(0, file.name.lastIndexOf('.')));
    $(this).remove();
},

但似乎我使用了错误的方法,我该怎么纠正呢?

我希望能够打电话:

$('.file_upload:last').fileupload({
    dataType: 'json',
    url: '/app_dev.php/_uploader/gallery/upload',
    disableImageResize: /Android(?!.*Chrome)|Opera/
        .test(window.navigator && navigator.userAgent),
    imageMaxWidth: 1200,
    imageMaxHeight: 1200,
    previewMaxWidth : 350,
    previewMaxHeight : 350,
    imageCrop: false,
    autoUpload: true,
    /*
    add: function (e, data) {
        var goUpload = true;
        var file = data.files[0];
        if (!(/\.(gif|jpg|jpeg|png)$/i).test(file.name)) {
            $(this).closest('tr').find('td:first').prepend('<div class="alert alert-danger text-justify"><ul class="list-unstyled"><li><span class="glyphicon glyphicon-exclamation-sign"></span> Seuls les types de fichiers suivants sont autorisés : .gif ; .jpg ; .jpeg ; .png</li></ul></div>');
            goUpload = false;
        }
        if (file.size > 2000000) {
            $(this).closest('tr').find('td:first').prepend('<div class="alert alert-danger text-justify"><ul class="list-unstyled"><li><span class="glyphicon glyphicon-exclamation-sign"></span> La taille maximale autorisée par fichier est de 2 Mo</li></ul></div>');
            goUpload = false;
        }
        if (goUpload === true) {
            data.submit();
        }
    },
    */
    done: function (e, data) {
        var file = data.files[0];
        console.log(data);
        console.log(data.files[0]);
        console.log(data.result.files);
        $(this).closest('tr').find('input[type=text]').val(file.name.substr(0, file.name.lastIndexOf('.')));
        $(this).remove();
    },
    progressall: function (e, data) {
        var input_this = this;
        var progress = parseInt(data.loaded / data.total * 100, 10);
        $(input_this).closest('tr').find('.upload-progress .progress-bar-current').text(progress + '%');
        $(input_this).closest('tr').find('.upload-progress .progress-bar-current').css(
            'width',
            progress + '%'
        );
    },
    fail: function(e, data) {
        var input_this = this;
        $(input_this).closest('tr').html('<td colspan="3" class="text-center background-orange"><i class="fa fa-exclamation-circle"></i> Erreur lors du transfert du fichier, veuillez vérifier qu\'il soit conforme (notamment types de fichiers autorisés, taille maximale)</td>');
    }
    });
});

更新一个:

var FansChart = [];
    for (var i = 0; i < 3 ; i++) {
        for (var j = 0; j < 33; j++) {
             FansChart.push({
                name : url[i],
                data : data.result[i].trendData[j].value, //api thing doesn't really matter
              });
            }
        }

我更新了我的方法,就像上面的内容更像是我想做的事情,但我意识到所有的trendDate都被绑定到了可变的abc,我怎么能把它们分开呢?

JSON

data.result[2].trendData[23].value

4 个答案:

答案 0 :(得分:0)

将i转换为j in for:

更改:

for (var j = 0; j < 33; i++) {

到:

for (var j = 0; j < 33; j++) {

答案 1 :(得分:0)

你错过了第二行的分号。它应该是for (var i = 0; i < 3; i++) {

答案 2 :(得分:0)

你去..

FansChart.push({
            name : url[i],
            data : data.result[i].trendData[j].value // no comma here
          });

删除data : data.result[i].trendData[j].value语句中的逗号。

答案 3 :(得分:0)

从第二个for循环中删除i ++

 void Update()
{




 if (NKCell.GetComponent<ModelChangeScript>().HighqualityModel == true )
    {

        HQModelSpawn();



public void HQModelSpawn()
{
    HighQualityModel = false;

    Transform[] HQTransforms = this.GetComponentsInChildren<Transform>();



    foreach (Transform t in HQTransforms)
    {
        if (t.gameObject.CompareTag("HighQualityModel"))

        {
            HQMesh = t.gameObject;


            Instantiate(t.gameObject, CurrentPosition, Currentrotation);




            transform.position = CurrentPosition;
            transform.rotation = Currentrotation;



            Debug.Log("Found " + t);

            break;
        }

    }


}

我希望它对你有用。