테스트 사이트 - 개발 중인 베타 버전입니다

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

choco5958 4년 전 조회 3,359

 

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

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

 

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

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
핑크빈
4년 전

</p>

<p>var price = 0; // 총가격</p>

<p>var obj_len = obj.length; // 총갯수</p>

<p>obj.map(val => price = price + val.minPrice); // 가격 더하기</p>

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

<p>

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

c
choco5958
4년 전
콘솔에 NaN으로 나옵니다 !
P
Phillips
4년 전
price배열이담긴obj들이 어디변수에있나요?
c
choco5958
4년 전
이미지 새로 댓글에 올렸습니다!

댓글을 작성하려면 로그인이 필요합니다.

choco5958
4년 전

데이터가 이렇게 있습니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 6개

P
Phillips
4년 전
현재 console.log한 소스좀 줘보실레요?
c
choco5958
4년 전
<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>

이렇게 했습니다.
P
Phillips
4년 전
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]);

},


이렇게해보실레요.
c
choco5958
4년 전
정말 감사합니다ㅠㅠ 많은 도움 주셔서 해결됐어요!
P
Phillips
4년 전
도움되셨다면 채택부탁해요 ^^
c
choco5958
4년 전
점심시간이어서 갔다오느라 지금 채택했습니다! 정말 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인