Javascript 函数获取两个数组中的位置
在javascript或EJS中 嗨,我有以下几点Javascript 函数获取两个数组中的位置,javascript,algorithm,ejs,Javascript,Algorithm,Ejs,在javascript或EJS中 嗨,我有以下几点 ID totales: 76,76,76,78,17,37,30,177,30,177,1,2,3,5,64,30,31,35,36,17,17,37,76,1,2,3,5,35,37,33,30,31,35,36,17,17,37,17,37,35,37,80,35,37,1,2,3,5,1,2,3,5,1,2,3,5,81,76,30,31,35,36,17,1,2,3,5,81,0,76,64,61,21,22,18,24,19,26,3
ID totales: 76,76,76,78,17,37,30,177,30,177,1,2,3,5,64,30,31,35,36,17,17,37,76,1,2,3,5,35,37,33,30,31,35,36,17,17,37,17,37,35,37,80,35,37,1,2,3,5,1,2,3,5,1,2,3,5,81,76,30,31,35,36,17,1,2,3,5,81,0,76,64,61,21,22,18,24,19,26,35,37,17,37,17,37,17,37
Porcantes Totales: 70,70,100,100,70,70,85,60,100,100,66.7,100,100,50,100,70,80,70,50,90,90,40,100,66.7,100,100,50,70,90,60,30,90,60,50,60,80,40,60,60,40,60,11.1,80,80,66.7,100,100,50,66.7,100,100,50,66.7,100,100,50,0,100,40,60,40,50,70,66.7,100,100,50,100,60,0,0,50,70,70,100,70,80,60,80,80,20,50,50,70,60,50
ID propios: 30,177
我需要得到“ID总计”中的位置,其中是“ID propios”,即30和177
为了在“Porcantes Totales”中获得相同的位置,并且可以将位置30和位置177中的值求和,这可以通过单独的部分进行,并将它们存储在变量中
谢谢
在javascript或EJS中
代码是
result.forEach(function(results){ %>
<%long=(results.category_results.length)
for(i=0; i<long; i++){ %>
<%results.category_results[i].category_id%>
<%listRP.push(results.category_results[i].category_id)%>
<%listResPropio=listRP%>
<br><br><br>
<% } %>
<% }) %>
<%
listR=[]
listP=[]
allResult.forEach(function(allR){ %>
<%long=(allR.category_results.length)
for(i=0; i<long; i++){ %>
<%allR.category_results[i].category_id%>
<%listR.push(allR.category_results[i].category_id)%>
<%listP.push(allR.category_results[i].percentage)%>
<%listaResultados=listR%>
<%listaPorcentajes=listP%>
<% } %>
<% }) %>
<%aaaa = []
var a
var b
%>
ID totales: <%=listaResultados%><br>
Porcantes Totales: <%=listaPorcentajes%><br>
ID propios: <%=listResPropio%><br>
<% for(i=0; i<listaResultados.length; i++){ %>
<% for(a=0; a<listResPropio.length; a++){ %>
<% if(listaResultados[i]==listResPropio[a]){ %>
<% a=listaResultados[i] %>
<%= a %>
<% } %>
<% } %>
<% } %>
result.forEach(函数(结果){%>
这应该可以解决问题
var ID_total=[76,76,76,78,17,37,30177,30177,1,2,3,5,64,30,31,35,36,17,17,17,37,76,1,2,3,5,35,33,30,31,35,36,17,37,37,35,37,80,35,37,1,2,3,5,1,2,3,5,81,76,30,31,35,36,17,1,2,18,37]
var Porcantes_总计=[70,70100100,70,70,85,60100100,66.7100100,50100,70,80,70,50,90,40100,66.7100100,50,70,90,60,60,60,80,40,60,60,60,60,11.1,80,80,66.7100100,50,66.7100100,50,60,60,40,40,40,50,70,70,70,60,80,80,80]
函数ID_propios(ID){
返回ID.map(a=>Porcantes_Totales[ID_Totales.indexOf(a)]).reduce((a,b)=>a+b)
}
console.log(
身份证明文件([30177])
)
如何处理值30和177?如果我是正确的,请允许我这样说。您想获得这些数字在第一个数组中的位置,然后在第二个数组中找到该位置的值并返回数字的总和?必须是与数字匹配的所有位置,还是仅第一个位置?是否需要索引位置30和117?以及t然后使用索引位置对相应的“Porcantes Totales”进行求和?我的理解是否正确?您希望获得数组“ID Totales”中两个数字(30177)的位置,然后对数组“Porcantes Totales”中的值求和使用相应的索引号。最后将它们存储在一个对象中。我认为它们应该是一个数组,这就是参数的设置方式。我创建的函数接受一个数字数组,这也是我所理解的。此外,您的代码是最先进的,只有一行,并且实现了这个技巧。非常优雅的处理方式。