如何使用javascript编程从另一个数组的值中获取数组中最高索引的值

如何使用javascript编程从另一个数组的值中获取数组中最高索引的值,javascript,arrays,Javascript,Arrays,我有两套数组 var A = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]; var B = ["B", "J", "A", "C", "G"]; 现在我必须从var B中得到一个值,它是var a中的最高索引,它是J 我必须通过JavaScript编程在varb中找到J 提前感谢按降序对第二个数组排序,然后通过迭代找到元素。您可以使用按降序排序,使用获取元素 var A=[“A”、“B”、“C”、“D”、“E”、“

我有两套数组

var A = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"];
var B = ["B", "J", "A", "C", "G"];
现在我必须从
var B
中得到一个值,它是
var a
中的最高索引,它是
J

我必须通过JavaScript编程在
varb
中找到
J


提前感谢

按降序对第二个数组排序,然后通过迭代找到元素。您可以使用按降序排序,使用获取元素

var A=[“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”],
B=[“B”、“J”、“A”、“C”、“G”];
函数customArrayFunction(A,B){
//创建一个用于存储排序数组的附加数组变量,否则它将更新数组B的顺序
var sortB=[];
B.forEach(功能(v){
sortB.push(v);
});
//按降序排序数组
//而不是自定义比较函数
//您可以简单地使用'sortB.sort().reverse()'
var res=sortB.sort(函数(a,b){
如果(a>b)
返回-1;
否则如果(a-1;
});
返回res;
}
log(customArrayFunction(A,B));

log(customArrayFunction([“A”、“D”、“G”],[“B”、“D”、“G”])使用forEach of list获得您想要的结果

var A = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"];
var B = ["B", "J", "A", "C", "G"];
var index = -1; // find index of your array A
A.forEach(function(item1, index1) {
    B.forEach(function(item2, index2) {
        if (item1 === item2) {
            index = index1 > index ? index1 : index;
        }
    })
})

var result = index >= 0 ? A[index] : 'No Result found'; // gives your desired result.

这是一个带有临时对象和一些数组方法的解决方案

var a=[“a”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”],
b=[“b”、“J”、“A”、“C”、“G”],
结果=函数(array1,array2){
var o={},
R
array2.forEach(函数(a){
o[a]=正确;
});
a、 reverse().some(函数(a){
if(o[a]){
r=a;
返回true;
}
});
返回r;
}(a、b);

记录(结果)可能技术含量太低,但是下面的代码呢(console.logging用于测试)

var A=[“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”];
变量B=[“B”、“J”、“A”、“C”、“G”];
var max=0;
var字母=”;
对于(i=0;i max){max=test;letter=B[i]};
}
控制台日志(字母)

console.log按预期给出“J”

到目前为止您尝试过或做过什么?在javascript数组中使用方括号:
[]
@depperm抱歉,我没有任何正确的想法,我正在尝试让您阅读有关集合的文档。。。这比让别人帮你做更值得。数组集是什么意思?
result=A[Math.max.apply(null,B.map(x=>A.indexOf(x))]
-但这可能不是您老师期望的答案。排序的问题是它修改了原始数组。@Pranav C Balan我正在尝试通过修改您的代码来获得最低的键值。这里的示例变量A和B可以,但与我的实际要求不符,提琴手:@Dinesh:那里面的输出应该是什么case@PranavCBalan在这种情况下,输出应该是“XXL”,因为它是参考var C的var C中最低索引的值D@Dinesh:只需删除排序
    var A = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"];
    var B = ["B", "J", "A", "C", "G"];
    var max=0;
    var letter="";
    for(i=0;i<B.length;i++)
       {
          var test=A.indexOf(B[i]);
          if(test > max){max=test;letter=B[i]};
       }
    console.log(letter)