[英]Accessing a specific item in an object array(javascript)
任何人都知道我如何訪問“13-02-2018”? 幫助將不勝感激。 對象我有一個名為陣列“數據”
for (var i = 0; i < Data.length;i++){
var temp =Data[i].[0];
}
我的解決方案是像您一樣遍歷數據,然后檢查元素是否為日期格式。 我假設日期總是相同的格式(即“dd-mm-yyyy)?如果是這樣,我會使用正則表達式檢查它們是否與該格式匹配(還有其他方法可以做到這一點,但我喜歡正則表達式!),所以試着看看像這樣的線程: 正則表達式檢測日期格式- 所有功勞都歸功於鏈接中的原始答案。請注意,您需要更新已接受的答案,以便獲得“dd-mm-yyyy”(我不確定下面是否會解決這個問題,因為我不知道 Date() 在 JS 中是如何工作的,您可能需要在使用它之前將其重新排列為“yyyy-mm-dd”格式)。
但是,是的,我會選擇類似的東西:
for (var i = 0; i<data.length; i++){
for (var item in data[i]) {
if(item.isValidDate()) {
\\do your stuff, for example:
var temp = item;
}
}
}
function isValidDate(dateString) {
var regEx = /^\d{2}-\d{2}-\d{4}$/;
if(!dateString.match(regEx)) return false; // Invalid format
var d = new Date(dateString);
if(!d.getTime() && d.getTime() !== 0) return false; // Invalid date
return d.toISOString().slice(0,10) === dateString;
}
即使這不起作用,希望它能讓您了解可以走下去的可能路徑:)
您的問題是“如何列出對象中的鍵?”
var foo = { bar: 'baz' };
for (var key in foo) { console.log(key); }
// outputs 'bar'
有關鍵的更多信息: 檢查 JavaScript 對象中是否存在鍵?
編輯:OP 更新了他的問題和數據。
var foo = [ { bar: 'baz' }, { buz: 'biz' } ];
for (var i = 0; i < foo.length; i++) {
for (var key in foo[i]) {
console.log(key);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.