关于javascript:如何在数组中逐个添加值

how to add values one by one in an array

本问题已经有最佳答案,请猛点这里访问。

我想在一个数组中添加8个单击按钮的值。

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

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

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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);
});
1
2
3
4
5
6
7
8
9
10
11
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
<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>


你可以试试这个

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
     <html>
      <head>
         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
         
          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);
      }
         
          </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>

有一些有用的链接可供您推送数组和唯一值


使用Array.prototype.push()方法在数组末尾添加一个新值。它还将返回新的长度。

cars.push(myvalues,"myvaluesv","Toyota")为例。可以将任何数据类型推送到数组中。