亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript push() 函數沒有將對象添加到數組中

Javascript push() 函數沒有將對象添加到數組中

蠱毒傳說 2021-10-14 17:20:15
我有一個 for 循環,它循環使用 jquery 選擇器收集的一些 html 元素,并從中提取一些文本或值。每個循環都會創建一個新對象。對象很簡單,它只是文本和一個值。Console.log 確認每個循環都成功創建了對象。在 for 循環之外,我有一個初始化為數組的變量 (kvObjs)。在 for 循環結束時,我將新對象推送到數組中。但是 console.log 確認數組保持為空。這是一段較大代碼的一部分。這似乎是不起作用的部分。不工作的特定函數是 getKVs(),好吧,除了試圖將對象推送到數組上的部分之外,它可以工作。我向你保證,我瀏覽了所有或幾乎所有的“類似問題”,但沒有任何反應。不過,我可能錯過了其中的某些內容。我覺得我忽略了一些明顯的東西。我試圖手動創建一個數組 (var x = ["bob", "steve", "frank"]) 然后設置另一個等于它的變量 (var y = x) 并且這似乎有效。我什至創建了一個對象數組,如 var x = [{"Key":"Bob","Value":10}, {"Key":"Steve","Value":5}],我認為這對。但我的 for 循環沒有。<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><style>    .Jobs {        width: 300px;        margin: 0 auto;    }    .Jobs li {        display: grid;        grid-template-columns: 1fr 50px;        padding: 2px 5px 2px 7px;        align-items: center;    }    .Jobs .value {        text-align: right;    }    .Jobs p.value {        padding-right: 7px;    }    .even {        background-color: rgba(0,0,0,0.2);    }</style><div class="Jobs">    <ul>        <li class="kvp">            <p class="key">Bob</p>            <input class="value" type="number" value="3"/>        </li>        <li class="kvp even">            <p class="key">Frank</p>            <input class="value" type="number" value="2"/>        </li>        <li class="kvp">            <p class="key">Tom</p>            <input class="value" type="number" value="8"/>        </li>        <li class="kvp total even">            <p class="key">Total</p>            <p class="value">13</p>        </li>    </ul></div><script>    class KV {        constructor(key, value) {            this.Key = key;            this.Value = value;        }    }    function getKVs(type) {        type = "." + type + " .kvp";        var elmts = $(type);        var kvObjs = [];        for (var i = 0; i < elmts.length; i++) {            var elmt = $(elmts[i]);            if(elmt.hasClass("total")) {                // do nothing            } 我不斷得到一個空數組。
查看完整描述

3 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

看來你有一個語法錯誤:

use kvObjs.push(kv);

代替

kvObjs.push[kv];


查看完整回答
反對 回復 2021-10-14
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

看起來您的代碼中有一個小錯誤。查看將對象推入數組的行:

kvObjs.push[kv];

您需要在 .push() 方法上使用括號。

kvObjs.push(kv);


查看完整回答
反對 回復 2021-10-14
  • 3 回答
  • 0 關注
  • 638 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號