javascript - 如何在数组中一个一个地添加值

标签 javascript arrays

<分区>

我想将点击按钮的 8 个值添加到一个数组中。

当用户按下任何按钮时,该按钮的 ID/值存储在一个数组中,但我的数组仅将数组中的第一个值保存在数组 [0] 中。

如何在数组中插入其他值?

代码如下:

function reply_click(obj) {
  var id = [obj.id];
  for (i = 0; i <= id; i++) {
    alert(id);
  }
}

var arr = [id];

alert(arr);

if (id[0] == "1") {
  alert(6666666666);
}

if (id[0] == "2") {
  id[0] = 1;
  id[1] = 2;
  alert(777777777777);
}


if (id[0] == "3") {
  id[0] = 1;
  id[1] = 2;
  id[2] = 3;
  alert('login');
}

alert(id);

$(document).on('click', '.btn', function() {

  alert($(this).val());

  var myvalues = $(this).val();
  alert(myvalues);

  var cars = [myvalues, "myvaluesv", "Toyota"];
  alert(cars);
  var x = cars.length;
  alert(x);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="1" onClick="reply_click(this)">1</button>
<button id="2" onClick="reply_click(this)">2</button>
<button id="3" onClick="reply_click(this)">3</button>

<button id="tahira" name="btn" class="btn" value="tahirahassan">hi tahira</button>
<button id="sobia" name="btn" class="btn" value="sobia">hi sobia</button>
<form action="testingjquery.php" method="post">
  <input type="submit" id="btn1" class="btn111" name="val1" value=" i am tahira" />
  <input type="submit" id="btn2" class="btn112" name="val1" value="hassan" />
</form>

最佳答案

你可以试试这个

     <html>
      <head>
         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
         <script>
          var arr=new Array;
          //unique object variable
          var trackObject = {};
          function reply_click(obj){
              var id = [obj.id];

                //check value is not duplicated 
                 if(!trackObject.hasOwnProperty(id)){
                    trackObject[id] = 1;
                    for(i=1;i<=id;i++){
                      arr.push(i);
                    }
                 }
                console.log(arr);

          } 
          $(document).ready(function(){
              $(".btn").click(function(){
                var myvalues=$(this).val();
                //check value is not duplicated
                 if(!trackObject.hasOwnProperty(myvalues)){
                    trackObject[myvalues] = 1;
                    arr.push(myvalues);

                  }
                  console.log(arr);

              });
          });
          // attach the .equals method to Array's prototype to call it on any array
      Array.prototype.equals = function (array) {
          // if the other array is a falsy value, return
          if (!array)
              return false;

          // compare lengths - can save a lot of time 
          if (this.length != array.length)
              return false;

          for (var i = 0, l=this.length; i < l; i++) {
              // Check if we have nested arrays
              if (this[i] instanceof Array && array[i] instanceof Array) {
                  // recurse into the nested arrays
                  if (!this[i].equals(array[i]))
                      return false;       
              }           
              else if (this[i] != array[i]) { 
                  return false;   
              }           
          }       
          return true;
      }  
      function compare(){

        result=arr.equals([1, 1, 2, 1, 2, 3, "tahirahassan", "sobia"]);
        alert(result);
      }
          </script>
          </head>


          <body >
              <p>Click on this paragraph.</p>
            <button id="1" onClick="reply_click(this)">1</button>
          <button id="2" onClick="reply_click(this)">2</button>
           <button id="3" onClick="reply_click(this)">3</button>

        <button id="tahira" name="btn1" class="btn" value="tahirahassan" >hi tahira</button>
       <button id="sobia" name="btn2" class="btn" value="sobia" >hi sobia</button>
         <form action="testingjquery.php" method="post">
          <input type="submit" id="btn1" class="btn111" name="val1" value=" i am tahira"/>
          <input type="submit" id="btn2" class="btn112" name="val1" value="hassan" />
        </form>
        <button id="compare" onClick="compare()">compare</button>

      </body>

      </html>

有一些对您有用的链接push-arrayunique-value

关于javascript - 如何在数组中一个一个地添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27071042/

相关文章:

python - 除以 numpy 数组

C:char指针和数组的区别

ruby - 参数错误 : comparison of Hash with Hash failed - Sorting an array of hashes by hash name

javascript - 使用 javascript 调用 XQuery

javascript - 使用 jquery 将 onClick 事件附加到 anchor 标记?

javascript - 防止 jQuery 在元素移除时取消绑定(bind)事件

c++ - 使用 yaml-cpp 解析 json/yaml 数组

javascript - 无法让 javascript 在值更改时触发

javascript - Angular 事件(ng-keydown)内存泄漏

java - 将数组排序为三个不同的 ArrayLinearList