鍍金池/ 問答/Java  HTML/ 如何比較兩個(gè)數(shù)組,然后確定元素的位置?

如何比較兩個(gè)數(shù)組,然后確定元素的位置?

我現(xiàn)在有兩個(gè)數(shù)組

[B, C]

[A, B, C, D, E]

我想把第一個(gè)數(shù)組和第二個(gè)數(shù)組做比較,

確定第一個(gè)數(shù)組中每個(gè)元素,在第二個(gè)素組中的位置,如何實(shí)現(xiàn)?

回答
編輯回答
來守候

ES6:

        const ah = ['a', 'b'];
        const bh = [1, 3, 'a', '6', 'b', 8];
        const h = (arga, argb) => arga.map(v => {
            return { val: v, index: argb.findIndex(val => val === v) }
        })

        console.log(h(ah, bh))

不知道你要得到什么結(jié)果

2018年5月24日 06:39
編輯回答
執(zhí)念

function (arr1,arr2){

let keyIndexPair = [];
arr2.forEach(item2=>{
    arr1.forEach(item1=>{
        if(item1 === item2){
            let result = {};
            result.key = item1;
            result.index = arr2.indexOf(item2);
            keyIndexPair .push(result);
        }
    });
});
return keyIndexPair;

}

以上就是你所問的方法,其實(shí)就是一個(gè)二維數(shù)組的遍歷。最后將結(jié)果以{key:B,index;1}鍵值對放進(jìn)數(shù)組返回。

2017年10月12日 05:28
編輯回答
近義詞

js:

    const a = ['b', 'c'];
    const b = ['a', 'b', 'c', 'd', 'e'];
    let index_result = [];
    a.forEach(item => {
        index_result.push(b.indexOf(item));
    });
    console.log(index_result);
2017年7月24日 18:15
編輯回答
舊言

你這標(biāo)簽里既有 Java 也有 JavaScript,那放個(gè)偽代碼吧:

arr1 = [B, C];
arr2 = [A, B, C, D, E];
indexs = [arr1.length]
for (i = 0; i < arr1.len; i++) {
    for (j = 0; j < arr2.len; j++) {
        if (arr1[i] != arr2[j]) continue;
        indexs[i] = j;
        break;
    }
}
2017年10月7日 12:14
編輯回答
影魅
const arrA = ['B', 'C']
const arrB = ['A', 'B', 'C', 'D', 'E']
let indexArr = []

arrA.forEach(item => {
  indexArr.push(arrB.indexOf(item))
})

indexArr 就是元素所在位置的數(shù)組,值為 -1 代表數(shù)組 B 中未找到相同元素

此方法只支持基礎(chǔ)類型,并且為 === 的元素,不適用于 Object
2018年1月30日 09:00
編輯回答
吢丕
var a=['B', 'C'],
        b=['A', 'B', 'C', 'D', 'E'];
    var r=a.map(function(item){
        return b.indexOf(item);
    });
    console.log(r);
2017年6月8日 12:12