luxury515
1k
2019-09-11 16:40:55 작성 2019-09-11 16:42:26 수정됨
6
117

js foreach



[
  {
    "orderId": 1234,
    "type": 8,
    "typeName": "aaa",
    "currencyId": 15,
    "currency": "aaaa",
    "beforeBalance": "2.310",
    "size": "-2.310",
    "fee": "0.00000000",
    "afterBalance": "0.000",
    "createTime": "2019-09-11 09:47:06"
  },
  {
    "orderId": 123456,
    "type": 7,
    "typeName": "bbbb",
    "currencyId": 2,
    "currency": "ddddd",
    "beforeBalance": "0.000000",
    "size": "0.003296",
    "fee": "-0.00000330",
    "afterBalance": "0.003293",
    "createTime": "2019-09-11 09:47:06"
  }
]

javasrcipt 에서 for문 돌려서 key , value 배내서 

새로운 array 저장하려고합니다.


var itemsFormatted =[]; 
$.ajax({
        url: '/my/apiurl',
        type: 'post',
        cache: false,
        data: $.param(sendData),
        success: function(res,status,xhr) {
            console.log("json is",JSON.stringify(res.data.rows));
            const itemsNotFormatted = new Array(res.data.rows);
            // console.log(itemsNotFormatted);
            // format the data
            itemsNotFormatted.forEach((item) => {
                itemsFormatted.push({
                    afterBalance: item.afterBalance,
                    beforeBalance: item.beforeBalance,
                    createTime: item.createTime,
                    currency: item.currency,
                    currencyId: item.currencyId,
                    fee: item.fee,
                    orderId: item.orderId,
                    size: item.size,
                    type: item.type,
                    typeName: item.typeName,
                });
            });

item. 해서 array value에 접근할수 없네요. 어디가 잘 못됐을까요?

0
0
  • 답변 6

  • 유리세계
    1k
    2019-09-11 17:11:52 작성 2019-09-11 17:13:26 수정됨

    itemsNotFormatted 를 const 로 선언하셨기 때문에 그럴것 같은데요

    0
  • DoubleJ_M_H
    4
    2019-09-12 00:11:27

    res.data.rows는 뭐죠? json구조에는 data라는 키와 row라는 키가 안보이는데.. 받은 데이터가 jsonArray인데 new Array에 넣어서 생성하는게 다소 이해가 되지 않는 부분입니다.. 


    저라면 res.foreach((item) = > {


    });


    요렇게 할 것 같습니다만..

    0
  • luxury515
    1k
    2019-09-16 12:50:34

    DoubleJ_M_H

    답변 감사합니다.
    추가로 질 문드려도 될까요?
    응답 받은 jsonarray 에서 특정 key ,value를 삭제 하고 싶은데요.

    찾아보니 .splice를 사용하면 된다고 하는데. 잘 안됩니다.
    "type" ,"currencyId" 를 지우고 싶네요.

    [
      {
        "orderId": 1234,
        "type": 8,
        "typeName": "aaa",
        "currencyId": 15,
        "currency": "aaaa",
        "beforeBalance": "2.310",
        "size": "-2.310",
        "fee": "0.00000000",
        "afterBalance": "0.000",
        "createTime": "2019-09-11 09:47:06"
      },
      {
        "orderId": 123456,
        "type": 7,
        "typeName": "bbbb",
        "currencyId": 2,
        "currency": "ddddd",
        "beforeBalance": "0.000000",
        "size": "0.003296",
        "fee": "-0.00000330",
        "afterBalance": "0.003293",
        "createTime": "2019-09-11 09:47:06"
      }
    ]


    0
  • 유리세계
    1k
    2019-09-16 13:24:32
    console.log(arr);
    for (var i = 0; i < arr.length; i++) {
      delete arr[i].type;
      delete arr[i].currencyId;
    }
    console.log(arr);
    


    0
  • luxury515
    1k
    2019-09-16 17:06:15

    유리세계

    혹시 아래와 같은 경우 어떻게 해야 될까여?
    두개의 let a  = [{},{}]   ,let b = [{},{}] 를 합치고 싶은데.


    aobjcet = Object.assign(bobject)

    console.log("aobjcet"+aobjcet);

    이것 처럼 Object.assign을 사용하면 될까요?혹시 다른 방법은 있을까요?

    0
  • 유리세계
    1k
    2019-09-17 11:10:43

    단순하게 생각하세요

    배열을 합치는거잖아요?

    var a = [{}, {}];
    var b = [{}, {}];
    
    var newArr = a.concat(b);


    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.