【问题标题】:Accessing single elements in multi dimensional arrays using a for loop in Javascript使用 Javascript 中的 for 循环访问多维数组中的单个元素
【发布时间】:2020-04-30 02:11:28
【问题描述】:

我正在尝试使用 for 循环测试数组数组中的单个元素是否与当前变量匹配。我可以使用多维数组或对象数组来解决问题,如下所示:

const compassArray = [

  ["north", "top"],

  ["south", "bottom"],

  ["east", "right"],

  ["west", "left"],

];

const compassArray1 = [
  { direction: "north", message: "top" },

  { direction: "south", message: "bottom" },

  { direction: "east", message: "right" },

  { direction: "west", message: "left" },

];

然而,在任何一种情况下访问这些单独的元素都很容易,在 for 循环中这样做会给我一个未定义的结果。

const rightTurn = () => {

  for (let i = compassArray.length; i >= 0; i--) {

    if (facing === compassArray[i][0]) {

      if (facing !== compassArray[compassArray.length][0]) {

        facing = compassArray[i + 1][0];

      } else {

        facing = compassArray[0][0];

      }
    }
  }
};

检查它“面向”是否等于 compassArray 中的元素 [0] 的可靠方法是什么?也欢迎其他不涉及 for 循环的解决方案以及其他代码评论。

【问题讨论】:

    标签: javascript object element


    【解决方案1】:

    您可以将数组find 方法与indexOfincludes 方法一起使用。

    例子:

    const compassArray = [
        ["north", "top"],
        ["south", "bottom"],
        ["east", "right"],
        ["west", "left"],
    ];
    
    function findValue(str) {
        return compassArray.find(item => item.indexOf(str));
    }
    
    
    console.log(findValue("top"));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-18
      • 2013-04-01
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 2019-09-16
      相关资源
      最近更新 更多