第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將值數(shù)組映射到百分比

將值數(shù)組映射到百分比

ABOUTYOU 2023-07-20 15:02:15
為什么地圖不能在這些數(shù)組上工作?我怎樣才能把這個(gè)數(shù)組變成百分比?我正在嘗試映射并解析從 API 返回的多個(gè)數(shù)組,但它僅映射每個(gè)數(shù)組中的第一個(gè)字符串,然后將其余部分返回為 NaN。我懷疑 forloop 可能會(huì)擾亂地圖的功能,但我不知道如何解決這個(gè)問題。另外,當(dāng)我檢查數(shù)組上的數(shù)據(jù)類型時(shí),它會(huì)作為對(duì)象返回。我的目標(biāo)是從給定的 8 個(gè)數(shù)字中求出平均值(以百分比表示)。const apiInfo = $(".info");function init() {  $.ajax({    url: "https://api.hatchways.io/assessment/students",    method: "GET",  }).then(function (res) {    for (let i = 0; i < res.students.length; i++) {      var curr = res.students[i];      if (curr.id.includes("")) {        $(".info");        let img = $(          "<img class='pPic float-left m-3' src='" +            res.students[i].pic +            "'alt = 'profile pic'>"        );        let title = res.students[i].firstName + " " + res.students[i].lastName;        let email = res.students[i].email;        let company = res.students[i].company;        let skill = res.students[i].skill;        let sGrades = res.students[i].grades        console.log(typeof(sGrades))        let x = sGrades.map(parseInt)        let average = ""        console.log(sGrades, x);        let list = $("<div class='infoB'>");        list.append(img);        list.append("<h4 class='title'>" + title + "<h4>");        list.append("<p class='mb-1 stats'> email: " + email + "</p>");        list.append("<p class='mb-1 stats'> comapny: " + company + "</p>");        list.append("<p class='mb-1 stats'> skill: " + skill + "</p>");        list.append("<p class='mb-1 stats'> average: " + average + "</p>");        $(".info").append(list);      }    }  });}init();
查看完整描述

2 回答

?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊

您可以通過以下方式對(duì)值進(jìn)行平均:

const?avg?=?(arr)?=>?arr.reduce((acc,?val)?=>?acc?+?val,?0)?/?arr.length;

您可以通過以下方式調(diào)用上面的函數(shù):

avg(student.grades.map(grade?=>?parseInt(grade,?10)));

我還建議使用模板文字來構(gòu)建輸出 HTML。

演示

const apiInfo = $('.info');

const avg = (arr) => arr.reduce((acc, val) => acc + val, 0) / arr.length;


const renderStudentInfo = (student, $target) => {

? const fullName = student.firstName + ' ' + student.lastName,

? ? average = avg(student.grades.map(grade => parseInt(grade, 10)));

? $target.append($(`

? ? <div class="infoB">

? ? ? <img class="pPic float-left m-3"

? ? ? ? src="${student.pic}" alt="profile pic" />

? ? ? <h4 class="title">${fullName}</h4>

? ? ? <p class="mb-1 stats">Email: ${student.email}</p>

? ? ? <p class="mb-1 stats">Company: ${student.company}</p>

? ? ? <p class="mb-1 stats">Skill: ${student.skill}</p>

? ? ? <p class="mb-1 stats">Average: ${average.toFixed(2)}%</p>

? ? </div>

? `));

};


const init = () => {

? $.ajax({

? ? url: 'https://api.hatchways.io/assessment/students',

? ? method: 'GET',

? }).then(({ students }) => {

? ? students.forEach((student) => {

? ? ? if (student.id.includes('')) {

? ? ? ? renderStudentInfo(student, apiInfo);

? ? ? }

? ? });

? });

}


init();

.infoB {

? margin-bottom: 1em;

}


.infoB .title {

? font-weight: bold;

}


.infoB .mb-1.stats {

? color: #444;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

<link rel="stylesheet" />

<link rel="stylesheet" />

<div class="container">

? <div class="info card scroll shadow p-3 mb-5 bg-white rounded"></div>

</div>


查看完整回答
反對(duì) 回復(fù) 2023-07-20
?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

您沒有為地圖提供正確的回調(diào)函數(shù)。嘗試將該行更改為此

let x = sGrades.map((v) => `${parseInt(v)}%`)

但這將返回一個(gè)字符串?dāng)?shù)組。


查看完整回答
反對(duì) 回復(fù) 2023-07-20
  • 2 回答
  • 0 關(guān)注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)