Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数获取两个数组中的位置_Javascript_Algorithm_Ejs - Fatal编程技术网

Javascript 函数获取两个数组中的位置

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

在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,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”中的值求和使用相应的索引号。最后将它们存储在一个对象中。我认为它们应该是一个数组,这就是参数的设置方式。我创建的函数接受一个数字数组,这也是我所理解的。此外,您的代码是最先进的,只有一行,并且实现了这个技巧。非常优雅的处理方式。