在javascript中从数组返回值
我希望你能帮忙,我正在尝试建立一个问卷,有不同的加权答案分数。其想法是,当按下提交按钮时,返回百分比分数 我发现了一个在线教程,它给了我一个我需要做什么的模板,在教程版本中,检查了数组的每个值,并将预定值添加到分数中,在我的场景中,如果发现为真,我希望将数组中的相应值添加到分数中 每个无线电问题答案值存储在一个数组中在javascript中从数组返回值,javascript,arrays,Javascript,Arrays,我希望你能帮忙,我正在尝试建立一个问卷,有不同的加权答案分数。其想法是,当按下提交按钮时,返回百分比分数 我发现了一个在线教程,它给了我一个我需要做什么的模板,在教程版本中,检查了数组的每个值,并将预定值添加到分数中,在我的场景中,如果发现为真,我希望将数组中的相应值添加到分数中 每个无线电问题答案值存储在一个数组中 const auditCorrectAnswers = ['1', '20', '20', '20', '20', '20', '20', '20', '20', '20', '5
const auditCorrectAnswers = ['1', '20', '20', '20', '20', '20', '20', '20', '20', '20', '5', '5', '5', '10', '5', '5', '20', '20'];
当if语句为true时,我试图从forEach()
循环正在检查的相同位置的数组中提取值
我想我已经设法做到这一点,使用以下语句
userAuditAnswers.forEach((auditAnswer, index) => {
if(auditAnswer === auditCorrectAnswers[index]){
auditScore += (auditCorrectAnswers, index);
}
});
console.log(auditScore);
但同时返回总索引位置值,因为它应该给出256的答案,但这是我得到的最接近解决方案的结果
我尝试了valueOf()
、values()
和map()
但是这些都给出了数组中所有值的重复字符串
我相信这很简单,但我已经在这方面坚持了几天,并且已经没有什么想法了,所以任何帮助都将不胜感激
这是我的代码:
const auditCorrectAnswers = ['1', '20', '20', '20', '20', '20', '20', '20', '20', '20', '5', '5', '5', '10', '5', '5', '20', '20'];
const form = document.querySelector('.venueAudit-form');
form.addEventListener('submit', e => {
e.preventDefault();
let auditScore = 0;
//takes the value from each radio button
const userAuditAnswers = [form.a1.value, form.a2.value, form.a3.value, form.a4.value, form.a5.value, form.a6.value, form.a7.value, form.a8.value, form.a9.value, form.a10.value, form.a11.value, form.a12.value, form.a13.value, form.a14.value, form.a15.value, form.a16.value, form.a17.value, form.a18.value];
// checks management audit scores
userAuditAnswers.forEach((auditAnswer, index) => {
if(auditAnswer === auditCorrectAnswers[index]){
auditScore += (auditCorrectAnswers, index);
}
});
console.log(auditScore);
});
html部分
<form>
<!-- Managers Office -->
<div class="light-blue lighten-5">
<div class="container p-t-2 p-l-2 p-r-2 p-b-20">
<h5>Managers Office</h5>
</div>
<div class="container p-t-2 p-l-2 p-r-2 p-b-5">
<p class="text2">Clean & Tidy</p>
<div>
<label>
<input class="with-gap" type="radio" name="a1" value="1" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a1" value="0"/><span>No</span>
</label>
</div>
<p class="text1">All files up to date</p>
<div>
<label>
<input class="with-gap" type="radio" name="a2" value="20" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a2" value="0"/><span>No</span>
</label>
</div>
<p class="text1">Licensing folder complete & up-to-date</p>
<div>
<label>
<input class="with-gap" type="radio" name="a3" value="20" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a3" value="0"/><span>No</span>
</label>
</div>
<p class="text1">Fire folder complete & up to date</p>
<div>
<label>
<input class="with-gap" type="radio" name="a4" value="20" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a4" value="0"/><span>No</span>
</label>
</div>
<p class="text1">Health & Safety folder complete up to date</p>
<div>
<label>
<input class="with-gap" type="radio" name="a5" value="20" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a5" value="0"/><span>No</span>
</label>
</div>
<p class="text2">Security folder complete & up to date</p>
<div>
<label>
<input class="with-gap" type="radio" name="a6" value="20" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a6" value="0"/><span>No</span>
</label>
</div>
<p class="text1">Pre-Brief/Debrief</p>
<div>
<label>
<input class="with-gap" type="radio" name="a7" value="20" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a7" value="0"/><span>No</span>
</label>
</div>
<p class="text1">Float Check</p>
<div>
<label>
<input class="with-gap" type="radio" name="a8" value="20" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a8" value="0"/><span>No</span>
</label>
</div>
<p class="text1">CCTV 31 days recording</p>
<div>
<label>
<input class="with-gap" type="radio" name="a9" value="20" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a9" value="0"/><span>No</span>
</label>
</div>
<p class="text1">All cameras working & burning correctly</p>
<div>
<label>
<input class="with-gap" type="radio" name="a10" value="20" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a10" value="0"/><span>No</span>
</label>
</div>
<p class="text1">Float Check record</p>
<div>
<label>
<input class="with-gap" type="radio" name="a11" value="5" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a11" value="0"/><span>No</span>
</label>
</div>
<p class="text1">Computers working</p>
<div>
<label>
<input class="with-gap" type="radio" name="a12" value="5" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a12" value="0"/><span>No</span>
</label>
</div>
<p class="text1">Radios Charging</p>
<div>
<label>
<input class="with-gap" type="radio" name="a13" value="0" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a13" value="5"/><span>No</span>
</label>
</div>
<p class="text2">Homebase software completed</p>
<div>
<label>
<input class="with-gap" type="radio" name="a14" value="10" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a14" value="0"/><span>No</span>
</label>
</div>
<p class="text1">Safe protocol</p>
<div>
<label>
<input class="with-gap" type="radio" name="a15" value="5" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a15" value="0"/><span>No</span>
</label>
</div>
<p class="text1">No broken PDQ machines</p>
<div>
<label>
<input class="with-gap" type="radio" name="a16" value="5" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a16" value="0"/><span>No</span>
</label>
</div>
<p class="text1">Body camera footage saved to drive (Incidents)</p>
<div>
<label>
<input class="with-gap" type="radio" name="a17" value="20" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a17" value="0"/><span>No</span>
</label>
</div>
<p class="text1">Incident reports completed correctly</p>
<div>
<label>
<input class="with-gap" type="radio" name="a18" value="20" checked/><span>Yes</span>
</label>
</div>
<div>
<label>
<input class="with-gap" type="radio" name="a18" value="0"/><span>No</span>
</label>
</div>
</div>
</div>
<!-- end of section -->
<!-- bottom of coloured background block -->
</div>
<!-- blank column -->
<div class="col s1"></div>
</div>
<div class="row">
<!-- blank column -->
<div class="col s4"></div>
<div class="col s4 center-align">
<button class="btn brand waves-effect waves-light" type="submit" name="submit">Submit<i class="material-icons right">send</i></button>
</div>
<!-- blank column -->
<div class="col s4"></div>
</div>
</form>
经理室
干净整洁
对
不
所有文件都是最新的
对
不
许可证文件夹完整且最新
对
不
火灾文件夹已完成且最新
对
不
最新完成的健康与安全文件夹
对
不
安全文件夹完整且最新
对
不
简报/汇报
对
不
浮动检查
对
不
CCTV 31天录制
对
不
所有摄像头正常工作和燃烧
对
不
浮动检查记录
对
不
计算机正在工作
对
不
收音机充电
对
item={correctAnswer:"some answer", points:someNumber}
var auditScore=0;
for(var answerIndex=0; answerIndex<userAuditAnswers.length; answerIndex++)
if(userAuditAnswers[answerIndex]==auditCorrectAnswers[index].correctAnswer)
auditScore+=auditCorrectAnswers[index].points;```
auditScore += (auditCorrectAnswers, index);
auditScore += auditCorrectAnswers[index];