javascript - 使用 JavaScript 编程从另一个数组的值获取数组中最低索引处的值

标签 javascript arrays

我有2组数组

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 & A

我必须找出J & A在 var B通过JavaScript编程

这是我的代码,可以正常使用上面的示例 var A & B但要符合我的实际要求

var C = ["SX", "S", "M", "L", "XL", "XXL", "ML", "LL", "XLL", "MK", "LK", "XLK", "MS", "LS", "XLS"];
 var D = ["XLL", "XXL", "XLK"]; 

var A = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"];
var B = ["B", "J", "A", "C", "G"];
  
 var C = ["SX", "S", "M", "L", "XL", "XXL", "ML", "LL", "XLL", "MK", "LK", "XLK", "MS", "LS", "XLS"];
 var D = ["XLL", "XXL", "XLK"];

function customArrayFunction(A, B) {
  var sortB = [];
  B.forEach(v => sortB.push(v));
  var res = B.sort((a, b) => {
    if (a < b)
      return -1;
    else if (a > b)
      return 1;
    return 0;
  }).find(v => A.indexOf(v) > -1);

  return res;
}
document.write(customArrayFunction(A, B));
document.write('<br>' + customArrayFunction(C, D));

提前致谢

最佳答案

这是一个提案,其中为给定数组 ordered 的索引提供了一个临时对象,并在排序索引小于或大于返回的实际值时进行一些比较.

function x(ordered, search) {
    var object = {},
        result;
    ordered.forEach(function (k, i) {
        object[k] = i;
    });
    search.forEach(function (a) {
        if (!result) {
            result = [a, a];
            return;
        }
        if (object[a] < object[result[0]]) {
            result[0] = a;
            return;
        }
        if (object[a] > object[result[1]]) {
            result[1] = a;
        }
    });
    return result;
}

var a = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"],
    b = ["B", "J", "A", "C", "G"],
    c = ["SX", "S", "M", "L", "XL", "XXL", "ML", "LL", "XLL", "MK", "LK", "XLK", "MS", "LS", "XLS"],
    d = ["XLL", "XXL", "XLK"];

document.write('<pre>' + JSON.stringify(x(a, b), 0, 4) + '</pre>');
document.write('<pre>' + JSON.stringify(x(c, d), 0, 4) + '</pre>');

关于javascript - 使用 JavaScript 编程从另一个数组的值获取数组中最低索引处的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35968262/

相关文章:

c - 管理 C 中的结构集合

c++ - 改进 C++ 中 2 个数组的并集

JavaScript - 如何显示下一个 div 并隐藏前一个?

javascript - 如何获得两个日期之间的所有星期日/星期一/星期二?

Javascript无需点击即可下载csv

javascript - 新的 Array(9) 语法的目的是什么?

javascript - 如何添加分页以导航博客文章页面(Node/Express)

javascript - Android Studio 连接到移动设备中的本地主机

java - NullPointerException 即使没有什么是空的?

php - 是否可以在 PHP 中的 ArrayIterator 对象上覆盖 print_r 的行为?