AJAX에서 JSON 배열안에 있는 숫자들을 계산하고 싶은데 어떻게 할까요??

AJAX에서 JSON 배열안에 있는 숫자들을 계산하고 싶은데 어떻게 할까요??

QA

AJAX에서 JSON 배열안에 있는 숫자들을 계산하고 싶은데 어떻게 할까요??

본문

237413892_1626051683.5683.jpg

 

price배열안에 오브젝트가 여러개있고 그안에 minPrice가 있는데

minPrice들을 다 합쳐서 minPrice 갯수만큼 나누고 싶은데 어렵네요..

 

아래의 코드는 AJAX코드입니다.

 

<script>

    function model_search() {

        if ($('#model_code') != null) {

            $.ajax({

                type: "GET",

                url: "<?php echo G5_URL ?>/ajax.mongo.php",

                data: {

                    model_code: $('#model_code').val()

                },

                success: function(data) {

                    // var search_result = JSON.stringify(data);

                    // console.log(JSON.stringify(data));

                    // $('#search_result').text(search_result);

                    var brand = [];

                    var category = [];

                    var obj = JSON.parse(JSON.stringify(data));

                    for (var objs of obj) {

                        Object.keys(objs).forEach(function(v, v1) {

                            if (v == 'brand') brand.push(objs[v]);

                            if (v == 'category3') category.push(objs[v]);

                        })

                    }

 

                    console.log(brand);

                    console.log(category);

                    $('#search_brand').text(brand[0]);

                    $('#search_category').text(category[0]);

                },

                error: function(data) {

                    //통신 실패시 발생하는 함수(콜백)

                    alert('검색하신 상품이 없습니다.');

                }

            });

        }

    }

</script>

이 질문에 댓글 쓰기 :

답변 2


var price = 0; // 총가격
var obj_len = obj.length; // 총갯수
obj.map(val => price = price + val.minPrice); // 가격 더하기
console.log(price/obj_len); // 총가격 / 총갯수

 

var obj = JSON.parse(JSON.stringify(data)); 밑줄에넣으세요.

237413892_1626055574.2198.jpg

데이터가 이렇게 있습니다

<script>
function model_search() {
if ($('#model_code') != null) {
$.ajax({
type: "GET",
url: "<?php echo G5_URL ?>/ajax.mongo.php",
data: {
model_code: $('#model_code').val()
},
success: function(data) {
// var search_result = JSON.stringify(data);
// console.log(JSON.stringify(data));
// $('#search_result').text(search_result);
var brand = [];
var category = [];
var obj = JSON.parse(JSON.stringify(data));
var price = 0; // 총가격
var obj_len = obj.length; // 총갯수
obj.map(val => price = price + val.minPrice); // 가격 더하기
console.log(price / obj_len); // 총가격 / 총갯수

for (var objs of obj) {
Object.keys(objs).forEach(function(v) {
if (v == 'brand') brand.push(objs[v]);
if (v == 'category3') category.push(objs[v]);
})
}

$('#search_brand').text(brand[0]);
$('#search_category').text(category[0]);
},
error: function(data) {
//통신 실패시 발생하는 함수(콜백)
alert('검색하신 상품이 없습니다.');
}
});
}
}
</script>

이렇게 했습니다.

success: function(data) {

                    // var search_result = JSON.stringify(data);

                    // console.log(JSON.stringify(data));

                    // $('#search_result').text(search_result);

                    var brand = [];

                    var category = [];



                    var obj = JSON.parse(JSON.stringify(data));


                    for (var objs of obj) {

                    var price = 0; // 총가격
                    var obj_len = objs.price.length; // 총갯수
                    objs.price.map(val => price = price + val.minPrice); // 가격 더하기

                        Object.keys(objs).forEach(function(v, v1) {

                            if (v == 'brand') brand.push(objs[v]);

                            if (v == 'category3') category.push(objs[v]);

                        })

                      console.log(price/obj_len); // 총가격 / 총갯수


                    }

 

                    console.log(brand);

                    console.log(category);

                    $('#search_brand').text(brand[0]);

                    $('#search_category').text(category[0]);

                },


이렇게해보실레요.

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT