javascript - 有什么方法可以更改数组元素索引,使其从 1, 2, 3, 4 而不是 0, 1 ,2, 3 开始?

标签 javascript html arrays indexing

我不想使用push()/slice()/unshift()等来移动元素位置,因为即使我使用这些方法之一更改了元素位置',索引仍然从'开始0',而不是'1'。

我的目标是“操作元素 index”,因此当我回调它们时,它会从 1, 2, 3, 4 开始。 。 .

这段代码基本上工作得很好。我想操作数组元素索引:|

  $(function submenuTrigger(){
    var list = [
      ["", 'Urus', 'Aventador', 'Experiences', 'Few Off', 'Concept', 'Ad Personam', " "], // 0, 1, 2, 3, 4, 5 6 . .
      ["", 'People', 'History', 'Masterpieces', 'Design', 'Innovation & Exellences', " ", " ", " "],
      ["", "Locators", "Accessori Origianli", "Spare Parts", "Services", "Polo Storico", "Financial Services", " ", " "],
      ["", "News", "Events", "Museum", "Accademia", "Esperienza", "Lamborghini Lounge", "Mobile App", "  "],
      ["", "News", "Events", "Museum", "Accademia", "Esperienza", "Lamborghini Lounge", "Mobile App", "  "]
    ]
    var int_compare = 0;
    $('#home-menu-nav ul li').mouseenter(function(){
      var li_int = $(this).index() + 1; // make sure li indexes start 1, 2, 3, 4 . .
          list_int = list[li_int];      // make sure list's first elements start counting 1, 2, 3, 4 . .
          list_len = list_int.length;   // makes automatically count inside of for statement / loop_int = [list]
          int_compare = li_int;
          console.log(list_int)
          if(li_int == int_compare){
            for(p = 0; p < list_len; p++){
              console.log(list_len)
              $('#submenu-content-row-left ul li:nth-child('+ p +')').html(list[li_int - 1][p]);
              nbsp = list[li_int - 1][p]
            }
          } else {
            console.log('none');
            return
          }
    })
  })
 
<div id="home-menu-nav">
  <ul>
    <li>MODELS</li>
    <li>BRAND</li>
    <li>OWNDERSHIP</li>
    <li>EXPERIENCE</li>
    <li>MOTORSPORT</li>
    <li>STORE</li>
  </ul>
</div>
 <div id="submenu-content-row-left">
  <ul>
    <li>&nbsp;</li>
    <li>&nbsp;</li>
    <li>&nbsp;</li>
    <li>&nbsp;</li>
    <li>&nbsp;</li>
    <li>&nbsp;</li>
    <li>&nbsp;</li>
  </ul>
 </div>

如果可以的话,我想更改元素的索引

最佳答案

无论您是否愿意,所有数组都有一个 0 元素。这是数组的第一个元素。如果将第一个元素放在索引 1 处,则索引 0 处仍然有一个空元素,并且每次访问数组时都必须跳过它。

这只是所有现代编程语言工作方式的基本部分。当您向用户显示元素编号时,通常会添加 1 以供人类阅读。显然,如果你想在这里实现你的目标,你可以将一个空元素取消移动到数组中。但在 0 处仍然有一个空元素。

关于javascript - 有什么方法可以更改数组元素索引,使其从 1, 2, 3, 4 而不是 0, 1 ,2, 3 开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52575462/

相关文章:

javascript - 如何连接字符串类型的数组项,每个数组项都有一个逗号字符,除了最后一项必须由 "and"连接?

javascript - HTML 中的 Angular 访问指令 Controller 变量

javascript - Angular js 中带有 ng-click 的嵌套 Controller

javascript - 调整大小时,两个 div 相互穿过

javascript - 如何使我的网络应用程序中的 'tasks' 可编辑?

javascript - 使用 javascript 隐藏和显示多个 html 元素

html - Bootstrap 中的等高嵌套 div

python - 如何使函数的返回值可迭代?

mysql - 使用 mySQL 将数组输入我的数据库

javascript - 属性 'contentWindow' 在 HTMLElement 类型上不存在 - 从一台服务器发送到另一台服务器