js查找数组中不同值的相同值的索引,并且通过索引找到另一个数组对应索引位置的值代码示例
时间: 2024-05-13 09:14:38 浏览: 71
可以使用嵌套循环来实现该功能,具体代码如下:
```javascript
let arr1 = [1, 2, 3, 4, 5, 3, 2];
let arr2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
let indexes = [];
for (let i = 0; i < arr1.length; i++) {
for (let j = i + 1; j < arr1.length; j++) {
if (arr1[i] === arr1[j]) {
indexes.push(i, j);
}
}
}
let result = [];
for (let i = 0; i < indexes.length; i++) {
result.push(arr2[indexes[i]]);
}
console.log(result); // ["b", "c", "f", "a"]
```
这段代码首先遍历数组 `arr1`,查找相同值的索引并存储在 `indexes` 数组中。然后,遍历 `indexes` 数组,获取对应的值并存储在 `result` 数组中。最后输出 `result` 数组即可。
相关问题
用map方法实现判断一个数组中的某个元素是否存在另一个数组,是的话返回数组的索引值 react
好的,针对您的问题,我可以给出一个JavaScript的示例代码来实现您的需求:
```javascript
function findIndex(arr1, arr2) {
return arr1.map((_, i) => i).find(i => JSON.stringify(arr1.slice(i, i + arr2.length)) === JSON.stringify(arr2)) || -1;
}
// 示例
const arr1 = [1, 2, 3, 4, 5, 6];
const arr2 = [3, 4, 5];
console.log(findIndex(arr1, arr2)); // 2
```
以上代码中,`findIndex`函数接收两个数组参数,其中`arr1`为原始数组,`arr2`为需要查找的数组。函数通过`map`方法生成一个新的数组,包含`arr1`中每个元素对应的索引值。然后使用`find`方法查找第一个满足条件的索引值,条件是子数组与`arr2`相等。如果找到,返回该索引值,否则返回-1。在示例中,`arr2`存在于`arr1`中的索引值为2。
用map方法查找数组中每个元素存在于另一个数组的什么位置
好的,针对您的问题,我可以给出一个JavaScript的示例代码来实现您的需求:
```javascript
function findIndex(arr1, arr2) {
return arr1.map((item1, i1) => {
const index = arr2.findIndex(item2 => item1 === item2);
return index === -1 ? null : index;
});
}
// 示例
const arr1 = [1, 2, 3, 4, 5, 6];
const arr2 = [3, 4, 5];
console.log(findIndex(arr1, arr2)); // [2, 3, 4]
```
以上代码中,`findIndex`函数接收两个数组参数,其中`arr1`为原始数组,`arr2`为需要查找的数组。函数通过`map`方法遍历`arr1`,对于`arr1`中的每个元素,使用`findIndex`方法查找其在`arr2`中的索引值,如果找到,返回该索引值,否则返回`null`。最终返回一个新的数组,包含`arr1`中每个元素对应的索引值或`null`。在示例中,`arr1`中每个元素在`arr2`中的位置分别为2、3、4。
阅读全文