Özet - Güneş Sistemi
Coddy'nin JavaScript Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 27 / 65.
Görev
KolayBir JSON dizesi olan solarSystemData argümanını alan analyzeSolarSystem adında bir fonksiyon oluşturun. JSON dizesi, güneş sistemimizdeki gezegenler hakkında bilgiler içerir. Her gezegen aşağıdaki özelliklere sahiptir:
name(string)type(string: "rocky" veya "gas")numberOfMoons(sayı)discoveredIn(sayı, yıl)surfaceTemperature(Celsius cinsinden min ve max değerlerini içeren nesne)hasRings(boolean)
Göreviniz:
- JSON dizesini bir nesneye dönüştürün (parse).
- Her gezegen için:
- Şu kurallara göre bir
classificationözelliği ekleyin:- Eğer kayalık bir gezegense ("rocky") ve
surfaceTemperature.max< 50°C ise:Potentially Habitable - Eğer kayalık bir gezegense ("rocky") ve
surfaceTemperature.max>= 50°C ise:Extreme Environment - Eğer gaz devi bir gezegense ("gas") ve
numberOfMoons> 10 ise:Complex System - Eğer gaz devi bir gezegense ("gas") ve
numberOfMoons<= 10 ise:Simple Gas Giant
- Eğer kayalık bir gezegense ("rocky") ve
- Gezegenin kaç yıl önce keşfedildiğini (
2010yılından itibaren) hesaplayan birageOfDiscoveryözelliği ekleyin. - Eğer gezegenin halkaları varsa ve 5'ten fazla aya sahipse, değeri
Ring System with Rich Moon Populationolan birspecialFeatureözelliği ekleyin.
- Şu kurallara göre bir
- Değiştirilen nesneyi bir JSON dizesi olarak döndürün.
Örnek girdi:
{
"planets": [
{
"name": "Mars",
"type": "rocky",
"numberOfMoons": 2,
"discoveredIn": -3000,
"surfaceTemperature": {
"min": -140,
"max": 20
},
"hasRings": false
},
{
"name": "Saturn",
"type": "gas",
"numberOfMoons": 82,
"discoveredIn": -3000,
"surfaceTemperature": {
"min": -178,
"max": -138
},
"hasRings": true
}
]
}Kendin dene
function analyzeSolarSystem(solarSystemData) {
// Buraya kod yazın
}
// Fonksiyonun dışına hiçbir şey yazmayınMantık ve Akış bölümündeki tüm dersler
1Derinlemesine Stringler
String TemelleriString Üzerinde YinelemeTemplate LiteralsString MetotlarıÖzet - String Weaver4JSON Bölüm 2
JSON Üzerinde Yinelemeİç İçe Geçmiş JSONJSON Optional ChainingSığ ve Derin KopyalamaÖzet - Bisiklet MağazasıÖzet - Güneş Sistemi7Kütüphane Yönetim Sistemi
Projeye Genel BakışKitap Ekleme10Festival Sistemi Yönetimi
Projeye Genel BakışFilm ve Mekan Ekle2Çok Boyutlu Diziler
2D Dizi Temelleri2D Dizi Elemanlarına Erişme2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaDüzensiz Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey5Kümeler Bölüm 1
Küme Nedir?Kümeler Üzerinde YinelemeEleman EklemeEleman SilmeEleman Varlığını Kontrol EtmeBoyut ve Boş Olma DurumuKopyalama ve TemizlemeÖzet - Kümelerin Temelleri8Diziler: İlginç Konular
Dizi Yapı SökümüDizilerde Spread SözdizimiSeyrek DizilerÖzet - Diziler Workshop3JSON Bölüm 1
JSON Nedir?Anahtarın Varlığını Kontrol EtmeNesne MetotlarıSpread Operatörü Bölüm 1Spread Operatörü Bölüm 2Anahtarları KaldırmaÖzet - JSON Anahtarlarını Yönetme