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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
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]);

                },


이렇게해보실레요.

답변을 작성하시기 전에 로그인 해주세요.
전체 17
QA 내용 검색

회원로그인

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