簡體   English   中英

如何使用JavaScript從JavaScript對象(包含對象數組)獲取所有值

[英]How to get all values from a JavaScript object (that contains an array of objects) using javascript

自從我使用JavaScript以來已經有一段時間了,我只是出於好奇而試圖思考使用JavaScript進行處理的不同方法。 有人可以告訴我如何在一個函數調用中輸出cars對象中的所有數據嗎? 我知道我可以使用點表示法單獨輸出特定的值,但是我想知道是否/如何一次獲得對象中cars對象中每個對象的所有值。 這可能嗎?

 var cars = [{ car1: { "owner": "lois", "make": "chevy", "model": "malibu", "year": "2011", "color": "red" } }, { car2: { "owner": "jeff", "make": "ford", "model": "focus", "year": "2002", "color": "silver" } }, { car3: { "owner": "bob", "make": "chrysler", "model": "pacifica", "year": "2008", "color": "blue" } }, { car4: { "owner": "sallie", "make": "toyota", "model": "corolla", "year": "2011", "color": "black" } }]; function carOwners(obj_arr) { //this.ownerName2 = cars[1].owner; //this.ownerName3 = cars[2].owner; //this.ownerName4 = cars[3].owner; /* console.log("The vehicle owner's name are " + ownerName1 + ", " + ownerName2 + ", " + ownerName3 + ", and " + ownerName4 + "."); */ for (var i = 0, len = cars.length; i < len; i++) { for (var key in cars) { console.log(' name=' + key + ' value=' + cars[key]); } } } carOwners(cars); //carOwners(cars[1].owner); //carOwners(cars[2].owner); //carOwners(cars[3].owner); 

當我運行該功能時,會得到以下結果(Chrome中的打開控制台),但這不是我想要的。 我想查看每個數據(解析對象),而不是數據類型。

name=0 value=[object Object]
name=1 value=[object Object]
name=2 value=[object Object]
name=3 value=[object Object]
name=0 value=[object Object]
name=1 value=[object Object]
name=2 value=[object Object]
name=3 value=[object Object]
name=0 value=[object Object]
name=1 value=[object Object]
name=2 value=[object Object]
name=3 value=[object Object]
name=0 value=[object Object]
name=1 value=[object Object]
name=2 value=[object Object]
name=3 value=[object Object]

謝謝。


添加來解釋為什么這不是重復的:這只是我的觀點,但是從我坐的位置來看,我的問題非常簡單:我想一口氣輸出一個對象的所有值。 我沒有檢查缺失值。 在另一個線程中,很明顯,查詢是關於檢查缺失值,而不是在我問怎么做時在一個函數調用中輸出所有值。 在此線程中,我在下面的評論中介紹了重復的比較。 我沒有說出我的問題來尋找任何遺漏的東西,而且我知道我不會讀那個線程來找到我的答案。 想一想,當我開始在“ 標題”框中鍵入我的問題時,這個問題(您列出以供比較) 從未出現過-我閱讀了標題框中顯示的所有建議以作為答案,以及請先在頁面右側顯示,然后再花時間將所有內容寫出來。 我再也無法解釋了。 謝謝。

不知道這是否正是您要的內容,但是您可以:

console.log(JSON.stringify(cars));

使用JSON.stringify(汽車)

另外,您可以使用cars.toString() ,除非它是一些內置函數,否則它將起作用,但是不會轉換嵌套對象。

兩者之間存在細微的差異 ,但兩者都應達到您的期望

將您的汽車數組傳遞給此函數:

$.getJSON(your_variable, function (data){
  $.each(data, function(key, val) {
   for(var i in val) {
   console.log("owner is: " + val[i].owner);
   console.log("make is: " + val[i].make);
   console.log("model is " + val[i].model);
   console.log("year is " + val[i].year);
   console.log("color is " + val[i].color);
   }
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM