主要学习js中数组的过滤方法
<script>
const inventors = [
{ first: 'Albert', last: 'Einstein', year: 1879, passed: 1955 },
{ first: 'Isaac', last: 'Newton', year: 1643, passed: 1727 },
{ first: 'Galileo', last: 'Galilei', year: 1564, passed: 1642 },
{ first: 'Marie', last: 'Curie', year: 1867, passed: 1934 },
{ first: 'Johannes', last: 'Kepler', year: 1571, passed: 1630 },
{ first: 'Nicolaus', last: 'Copernicus', year: 1473, passed: 1543 },
{ first: 'Max', last: 'Planck', year: 1858, passed: 1947 },
{ first: 'Katherine', last: 'Blodgett', year: 1898, passed: 1979 },
{ first: 'Ada', last: 'Lovelace', year: 1815, passed: 1852 },
{ first: 'Sarah E.', last: 'Goode', year: 1855, passed: 1905 },
{ first: 'Lise', last: 'Meitner', year: 1878, passed: 1968 },
{ first: 'Hanna', last: 'Hammarström', year: 1829, passed: 1909 }
];
const flavours = ['Chocolate Chip', 'Kulfi', 'Caramel Praline', 'Chocolate', 'Burnt Caramel', 'Pistachio', 'Rose', 'Sweet Coconut', 'Lemon Cookie', 'Toffeeness', 'Toasted Almond', 'Black Raspberry Crunch', 'Chocolate Brownies', 'Pistachio Almond', 'Strawberry', 'Lavender Honey', 'Lychee', 'Peach', 'Black Walnut', 'Birthday Cake', 'Mexican Chocolate', 'Mocha Almond Fudge', 'Raspberry'];
const people = ['Beck, Glenn', 'Becker, Carl', 'Beckett, Samuel', 'Beddoes, Mick', 'Beecher, Henry', 'Beethoven, Ludwig', 'Begin, Menachem', 'Belloc, Hilaire', 'Bellow, Saul', 'Benchley, Robert', 'Benenson, Peter', 'Ben-Gurion, David', 'Benjamin, Walter', 'Benn, Tony', 'Bennington, Chester', 'Benson, Leana', 'Bent, Silas', 'Bentsen, Lloyd', 'Berger, Ric', 'Bergman, Ingmar', 'Berio, Luciano', 'Berle, Milton', 'Berlin, Irving', 'Berne, Eric', 'Bernhard, Sandra', 'Berra, Yogi', 'Berry, Halle', 'Berry, Wendell', 'Bethea, Erin', 'Bevan, Aneurin', 'Bevel, Ken', 'Biden, Joseph', 'Bierce, Ambrose', 'Biko, Steve', 'Billings, Josh', 'Biondo, Frank', 'Birrell, Augustine', 'Black Elk', 'Blair, Robert', 'Blair, Tony', 'Blake, William'];
const fifteen = inventors.filter(function (inventor) {
if (inventor.year >= 1500 && inventor.year < 1600) {
return true
}
})
console.log("1500's")
console.log(fifteen)
const __fifteen = inventors.filter(inventor => (inventor.year >= 1500 && inventor.year < 1600))
console.table(__fifteen)
const fullName = inventors.map(inventor => (inventor.first + ' ' + inventor.last))
console.log("fullname")
console.log(fullName)
const older = inventors.sort(function (inventora, inventorb) {
for (var i = 0; i < inventors.length; i++) {
const inventora = inventors[i]
const inventorb = inventors[i + 1]
if (inventora.year > inventorb.year) {
return -1
} else {
return 1
}
}
})
console.log('olderList')
console.log(older)
const ordered = inventors.sort(function (firstName, secondName) {
if (firstName.year > secondName.year) {
return 1;
} else {
return -1;
}
});
console.table(ordered);
const __ordered = inventors.sort((a, b) => (a > b) ? 1 : -1);
console.table(__ordered);
let total = 0;
let totalArr = [];
for (i = 0; i < inventors.length; i++) {
inventors[i].alive = inventors[i].passed - inventors[i].year
totalArr.push(inventors[i].alive)
}
for(n = 0 ; n < inventors.length; n++){
total = total + parseInt(totalArr[n])
}
console.log('totallive')
console.log(total)
const alive = inventors.sort(function (alivea,aliveb){
if(alivea.passed-alivea.year > aliveb.passed-aliveb.year){
return 1
}else{
return -1
}
})
console.log('alive')
console.log(alive)
const lastList = inventors.sort((lastA,lastB) => {
return (lastA.last > lastB.last) ? 1 : -1
})
console.log('lastList')
console.log(lastList)
const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck'];
const reduce = data.reduce((obj,item)=>{
if(!obj[item]){
obj[item] = 0
}
obj[item]++;
return obj
},{})
console.log(reduce)
</script>