use Droplet image analysis with user-friendly freeware CellProfiler By feeds.rsc.org Published On :: Anal. Methods, 2020, 12,2287-2294DOI: 10.1039/D0AY00031K, Technical NoteSimona Bartkova, Marko Vendelin, Immanuel Sanka, Pille Pata, Ott SchelerWe show how to use free open-source CellProfiler for droplet microfluidic image analysis.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
use Introduction to Stochastic Analysis and Malliavin Calculus [electronic resource] / by Giuseppe Prato By darius.uleth.ca Published On :: Pisa : Scuola Normale Superiore : Imprint: Edizioni della Normale, 2014 Full Article
use Cantax T1 for New Users with EFILE Webinar 2014 By www.cch.ca Published On :: Wed, 08 Oct 2014 14:56:21 GMT In this 90-minute webinar, we will show you how to get around in the software and what functions are available to make you more productive. Includes an in depth look at Family Coupling, File attachments and the Pathfinder, what they are and how to use them to improve your productivity. This session is intended for those who are new to the Cantax software and those who would like a refresher of all the menu items and their function. Available Sessions for this Seminar:December 17, 2014 1:30 PM - 3:00 PM ESTJanuary 16, 2015 1:30 PM - 3:00 PM ESTJanuary 23, 2015 1:30 PM - 3:00 PM ESTJanuary 28, 2015 1:30 PM - 3:00 PM EST Full Article
use Global aspects of reputation and strategic management / editied by David L. Deephouse, Naomi A. Gardberg, and William Newburry By library.mit.edu Published On :: Sun, 23 Feb 2020 06:28:52 EST Dewey Library - HD30.28.G56 2019 Full Article
use Better buses, better cities: how to plan, run, and win the fight for effective transit / Steven Higashide By library.mit.edu Published On :: Sun, 15 Mar 2020 06:23:26 EDT Online Resource Full Article
use Towards user-centric transport in Europe 2: enablers of inclusive, seamless and sustainable mobility / Beate Müller, Gereon Meyer, editors By library.mit.edu Published On :: Sun, 15 Mar 2020 06:23:26 EDT Online Resource Full Article
use Responsible research for better business: creating useful and credible knowledge for business and society / László Zsolnai, Mike J. Thompson, editors By library.mit.edu Published On :: Sun, 12 Apr 2020 06:36:57 EDT Online Resource Full Article
use Quintessenz aus Anfang, Mitte und Ende der Wundercurversuche, welche zu Würzburg und Bamberg durch Martin Michel, Bauer von Wittighausen und durch Se. Hochwürden und Durchlaucht den Herrn Domherrn, Vicariatsrath und Prinzen Alexander v. Hohenloh By reader.digitale-sammlungen.de Published On :: Mon, 27 Apr 2020 13:12:02 +0100 Autor: Erschienen 1822 BSB-Signatur Bavar. 4004,II,8 URN: urn:nbn:de:bvb:12-bsb10381732-0 URL: http://reader.digitale-sammlungen.de/de/fs1/object/display/bsb10381732_00001.html/ Full Article
use A history of the world in 100 objects : from the British Museum / The British Museum, Western Australian Museum, National Museum of Australia By prospero.murdoch.edu.au Published On :: Full Article
use Report on the 2007 Western Australian Museum, Department of Maritime Archaeology, Batavia land sites National Heritage listing archaeological survey / edited by Corioli Souter with contributions by Ross Anderson and [four others] By prospero.murdoch.edu.au Published On :: Full Article
use The New Rules of Marketing and PR: How to Use Content Marketing, Podcasting, Social Media, AI, Live Video, and Newsjacking to Reach Buyers Directly, 7th Edition By www.wiley.com Published On :: 2020-05-05T04:00:00Z The seventh edition of the pioneering guide to generating attention for your idea or business, packed with new and updated informationIn the Digital Age, marketing tactics seem to change on a day-to-day basis. As the ways we communicate continue to evolve, keeping pace with the latest trends in social media, the newest online videos, the latest mobile apps, and all the other high-tech influences can seem an almost impossible task. How can you keep Read More... Full Article
use [ASAP] Fold-Change Compression: An Unexplored But Correctable Quantitative Bias Caused by Nonlinear Electrospray Ionization Responses in Untargeted Metabolomics By feedproxy.google.com Published On :: Wed, 06 May 2020 04:00:00 GMT Analytical ChemistryDOI: 10.1021/acs.analchem.0c00246 Full Article
use Pause, rewind, play: Relive Ashes 2005 – one of the greatest Test series of all time By feedproxy.google.com Published On :: Fri, 08 May 2020 10:32:16 +0000 This documentary encapsulates the drama, the highs and lows, the animosity between the two teams, and England’s redemption as a cricketing power. Full Article
use Coronavirus: Football teams will be allowed to use five substitutes to deal with fixture backlog By feedproxy.google.com Published On :: Fri, 08 May 2020 15:08:49 +0000 The International Football Association Board said in a statement that it had agreed to a proposal by Fifa for a temporary rule change to protect players. Full Article
use Coronavirus: Pune-based cricket museum buys Azhar Ali’s auctioned bat and jersey to raise funds By feedproxy.google.com Published On :: Fri, 08 May 2020 15:51:30 +0000 The Pakistan Test captain had put his bat used to score triple century in a day-night Test and Champions Trophy 2017 jersey up for auction. Full Article
use Watch: This TikTok user travels to exotic locations to brew his morning coffee By feedproxy.google.com Published On :: Sat, 09 May 2020 04:10:26 +0000 No wonder Falke Omdal, a 29-year-old photographer, has garnered a million views for his TikTok videos. Full Article
use Pause, rewind, play: When the Tiger oozed class and confidence - a rare interview of MAK Pataudi By feedproxy.google.com Published On :: Sat, 09 May 2020 12:22:32 +0000 In this fascinating footage Pataudi, one of the greatest Indian captains, talks about how he became a leader, the accident that damaged his eye, and more. Full Article
use Touchpoints for Addressing Substance Use Issues in Home Visiting: Phase 1 Final Report By www.mathematica.org Published On :: Mon, 30 Mar 2020 19:11:00 Z This report describes project findings around six touchpoints and four implementation system inputs through which home visiting programs can engage and support families to prevent, identify, and address substance use issues. Full Article
use Touchpoints for Addressing Substance Use Issues in Home Visiting: Executive Summary of Phase 1 Final Report By www.mathematica.org Published On :: Mon, 30 Mar 2020 19:23:00 Z This report describes project findings around six touchpoints and four implementation system inputs through which home visiting programs can engage and support families to prevent, identify, and address substance use issues. Full Article
use Diane Rittenhouse Joins Mathematica as a Senior Fellow By www.mathematica.org Published On :: Tue, 31 Mar 2020 04:00:00 Z Mathematica welcomes Diane Rittenhouse as senior fellow in the Health Unit. Rittenhouse, a family physician, is a nationally known expert at the intersection of social policy and clinical quality. Full Article
use A COVID-19 Primer: Analyzing Health Care Claims, Administrative Data, and Public Use Files By www.mathematica.org Published On :: Thu, 30 Apr 2020 17:08:00 Z This primer is designed to help researchers, data scientists, and others who analyze health care claims or administrative data (herein referred to as “claims”) quickly join the effort to better understand, track, and contain COVID-19. Full Article
use Detecting and modeling the changes of land use and land cover for land use planning in Da Nang City, Vietnam / Hoang Khanh Linh Nguyen By library.mit.edu Published On :: Sun, 23 Feb 2020 09:06:07 EST Rotch Library - HD890.5.Z9 D36 2018 Full Article
use Peri-urban China: land use, growth, and integrated urban-rural development / Li Tian and Yan Guo By library.mit.edu Published On :: Sun, 23 Feb 2020 09:06:07 EST Rotch Library - HD923.T53 2019 Full Article
use Ecological rationality in spatial planning: concepts and tools for sustainable land-use decisions / Carlo Rega By library.mit.edu Published On :: Sun, 23 Feb 2020 09:06:07 EST Online Resource Full Article
use Socio-economic and eco-biological dimensions in resource use and conservation: strategies for sustainability / Niranjan Roy, Shubhadeep Roychoudhury, Sunil Nautiyal, Sunil K. Agarwal, Sangeeta Baksi, editors By library.mit.edu Published On :: Sun, 15 Mar 2020 07:45:28 EDT Online Resource Full Article
use Cotton production and uses: agronomy, crop protection, and postharvest technologies / Shakeel Ahmad, Mirza Hasanuzzaman, editors By library.mit.edu Published On :: Sun, 19 Apr 2020 09:34:46 EDT Online Resource Full Article
use The American Museum of Natural History and how it got that way / Colin Davey with Thomas A. Lesser ; foreword by Kermit Roosevelt III By library.mit.edu Published On :: Sun, 26 Apr 2020 08:31:05 EDT Barker Library - QH70.U62 N485 2019 Full Article
use The Relation Between Large-Scale Land Acquisitions and Rural Households: Evidence from Ethiopia and Tanzania / Giulia Barbanente By library.mit.edu Published On :: Sun, 3 May 2020 09:41:51 EDT Online Resource Full Article
use Museum Practice By www.wiley.com Published On :: 2020-04-14T04:00:00Z MUSEUM PR ACTICE Edited by CONAL MCCARTHYMuseum Practice covers the professional work carried out in museums and art galleries of all types, including the core functions of management, collections, exhibitions, and programs. Some forms of museum practice are familiar to visitors, yet within these diverse and complex institutions many practices are hidden from view, such as creating marketing campaigns, curating and designing exhibitions, developing Read More... Full Article
use Museum Theory By www.wiley.com Published On :: 2020-04-14T04:00:00Z MUSEUM THEORY EDITED BY ANDREA WITCOMB ANDKYLIE MESSAGEMuseum Theory offers critical perspectives drawn from a broad range of disciplinary and intellectual traditions. This volume describes and challenges previous ways of understanding museums and their relationship to society. Essays written by scholars from museology and other disciplines address theoretical reflexivity in the museum, exploring the contextual, theoretical, and pragmatic ways museums Read More... Full Article
use Museum Transformations: Decolonization and Democratization By www.wiley.com Published On :: 2020-04-14T04:00:00Z MUSEUM TRANSFORMATIONS DECOLONIZATION AND DEMOCRATIZATIONEdited By ANNIE E. COOMBES ANDRUTH B. PHILLIPSMuseum Transformations: Decolonization and Democratization addresses contemporary approaches to decolonization, greater democratization, and revisionist narratives in museum exhibition and program development around the world. The text explores how museums of art, history, and ethnography responded to deconstructive critiques from activists and poststructuralist Read More... Full Article
use Museum Media By www.wiley.com Published On :: 2020-04-14T04:00:00Z MUSEUM MEDIA Edited by Michelle HenningMuseum Media explores the contemporary uses of diverse media in museum contexts and discusses how technology is reinventing the museum. It considers how technological changesfrom photography and television through to digital mobile mediahave given rise to new habits, forms of attention and behaviors. It explores how research methods can be used to understand people's relationships with media technologies and Read More... Full Article
use Building a Dictaphone Using Media Recorder and getUserMedia By feedproxy.google.com Published On :: Tue, 17 Dec 2019 12:00:00 +0000 Chris Mills brushes up his shorthand and shows how the MediaStream Recording API in modern browsers can be used to capture audio directly from the user’s device. Inching ever closer to the capabilities of native software, it truly is an exciting time to be a web developer. The MediaStream Recording API makes it easy to record audio and/or video streams. When used with MediaDevices.getUserMedia(), it provides an easy way to record media from the user’s input devices and instantly use the result in web apps. This article shows how to use these technologies to create a fun dictaphone app. A sample application: Web Dictaphone To demonstrate basic usage of the MediaRecorder API, we have built a web-based dictaphone. It allows you to record snippets of audio and then play them back. It even gives you a visualisation of your device’s sound input, using the Web Audio API. We’ll just concentrate on the recording and playback functionality in this article, for brevity’s sake. You can see this demo running live, or grab the source code on GitHub. This has pretty good support on modern desktop browsers, but pretty patchy support on mobile browsers currently. Basic app setup To grab the media stream we want to capture, we use getUserMedia(). We then use the MediaRecorder API to record the stream, and output each recorded snippet into the source of a generated <audio> element so it can be played back. We’ll first declare some variables for the record and stop buttons, and the <article> that will contain the generated audio players: const record = document.querySelector('.record'); const stop = document.querySelector('.stop'); const soundClips = document.querySelector('.sound-clips'); Next, we set up the basic getUserMedia structure: if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { console.log('getUserMedia supported.'); navigator.mediaDevices.getUserMedia ( // constraints - only audio needed for this app { audio: true }) // Success callback .then(function(stream) { }) // Error callback .catch(function(err) { console.log('The following `getUserMedia` error occured: ' + err); } ); } else { console.log('getUserMedia not supported on your browser!'); } The whole thing is wrapped in a test that checks whether getUserMedia is supported before running anything else. Next, we call getUserMedia() and inside it define: The constraints: Only audio is to be captured for our dictaphone. The success callback: This code is run once the getUserMedia call has been completed successfully. The error/failure callback: The code is run if the getUserMedia call fails for whatever reason. Note: All of the code below is found inside the getUserMedia success callback in the finished version. Capturing the media stream Once getUserMedia has created a media stream successfully, you create a new Media Recorder instance with the MediaRecorder() constructor and pass it the stream directly. This is your entry point into using the MediaRecorder API — the stream is now ready to be captured into a <Blob>, in the default encoding format of your browser. const mediaRecorder = new MediaRecorder(stream); There are a series of methods available in the MediaRecorder interface that allow you to control recording of the media stream; in Web Dictaphone we just make use of two, and listen to some events. First of all, MediaRecorder.start() is used to start recording the stream once the record button is pressed: record.onclick = function() { mediaRecorder.start(); console.log(mediaRecorder.state); console.log("recorder started"); record.style.background = "red"; record.style.color = "black"; } When the MediaRecorder is recording, the MediaRecorder.state property will return a value of “recording”. As recording progresses, we need to collect the audio data. We register an event handler to do this using mediaRecorder.ondataavailable: let chunks = []; mediaRecorder.ondataavailable = function(e) { chunks.push(e.data); } Last, we use the MediaRecorder.stop() method to stop the recording when the stop button is pressed, and finalize the Blob ready for use somewhere else in our application. stop.onclick = function() { mediaRecorder.stop(); console.log(mediaRecorder.state); console.log("recorder stopped"); record.style.background = ""; record.style.color = ""; } Note that the recording may also stop naturally if the media stream ends (e.g. if you were grabbing a song track and the track ended, or the user stopped sharing their microphone). Grabbing and using the blob When recording has stopped, the state property returns a value of “inactive”, and a stop event is fired. We register an event handler for this using mediaRecorder.onstop, and construct our blob there from all the chunks we have received: mediaRecorder.onstop = function(e) { console.log("recorder stopped"); const clipName = prompt('Enter a name for your sound clip'); const clipContainer = document.createElement('article'); const clipLabel = document.createElement('p'); const audio = document.createElement('audio'); const deleteButton = document.createElement('button'); clipContainer.classList.add('clip'); audio.setAttribute('controls', ''); deleteButton.innerHTML = "Delete"; clipLabel.innerHTML = clipName; clipContainer.appendChild(audio); clipContainer.appendChild(clipLabel); clipContainer.appendChild(deleteButton); soundClips.appendChild(clipContainer); const blob = new Blob(chunks, { 'type' : 'audio/ogg; codecs=opus' }); chunks = []; const audioURL = window.URL.createObjectURL(blob); audio.src = audioURL; deleteButton.onclick = function(e) { let evtTgt = e.target; evtTgt.parentNode.parentNode.removeChild(evtTgt.parentNode); } } Let’s go through the above code and look at what’s happening. First, we display a prompt asking the user to name their clip. Next, we create an HTML structure like the following, inserting it into our clip container, which is an <article> element. <article class="clip"> <audio controls></audio> <p>_your clip name_</p> <button>Delete</button> </article> After that, we create a combined Blob out of the recorded audio chunks, and create an object URL pointing to it, using window.URL.createObjectURL(blob). We then set the value of the <audio> element’s src attribute to the object URL, so that when the play button is pressed on the audio player, it will play the Blob. Finally, we set an onclick handler on the delete button to be a function that deletes the whole clip HTML structure. So that’s basically it — we have a rough and ready dictaphone. Have fun recording those Christmas jingles! As a reminder, you can find the source code, and see it running live, on the MDN GitHub. This article is based on Using the MediaStream Recording API by Mozilla Contributors, and is licensed under CC-BY-SA 2.5. About the author Chris Mills manages the MDN web docs writers’ team at Mozilla, which involves spreadsheets, meetings, writing docs and demos about open web technologies, and occasional tech talks at conferences and universities. He used to work for Opera and W3C, and enjoys playing heavy metal drums and drinking good beer. More articles by Chris Full Article Code apis
use Five Interesting Ways to Use Array.reduce() (And One Boring Way) By feedproxy.google.com Published On :: Wed, 18 Dec 2019 12:00:00 +0000 Chris Ferdinandi turns the heat down low and lets the sauce reduce while we take a look at how to add spice to our source with a sprinkling of Array.reduce(). Just a little ingenuity with the humblest of functions. Of all the modern array methods, the one I had the hardest time wrapping my head around was Array.reduce(). On the surface, it seems like a simple, boring method that doesn’t do much. But below its humble exterior, Array.reduce() is actually a powerful, flexible addition to your developer toolkit. Today, we’re going to look at some cool things you can do with Array.reduce(). How Array.reduce() works Most of the modern array methods return a new array. The Array.reduce() method is a bit more flexible. It can return anything. Its purpose is to take an array and condense its content into a single value. That value can be a number, a string, or even an object or new array. That’s the part that’s always tripped me up – I didn’t realize just how flexible it is! The syntax The Array.reduce() accepts two arguments: a callback method to run against each item in the array, and a starting value. The callback also accepts two arguments: the accumulator, which is the current combined value, and the current item in the loop. Whatever you return is used as the accumulator for the next item in the loop. On the very first loop, that starting value is used instead. var myNewArray = [].reduce(function (accumulator, current) { return accumulator; }, starting); Let’s look at some examples to make this all tangible. 1. Adding numbers together Let’s say you had an array of numbers that you wanted to add together. Using Array.forEach(), you might do something like this: var total = 0; [1, 2, 3].forEach(function (num) { total += num; }); This is the cliche example for using Array.reduce(). I find the word accumulator confusing, so in this example, I’m calling it sum, because that’s what it is. var total = [1, 2, 3].reduce(function (sum, current) { return sum + current; }, 0); Here, we pass in 0 as our starting value. In the callback, we add the current value to the sum, which has our starting value of 0 on the first loop, then 1 (the starting value of 0 plus the item value of 1), then 3 (the sum value of 1 plus the item value of 2), and so on. Here’s a demo. 2. Combining multiple array methods into Array.map() and Array.filter() into a single step Imagine you had an array of wizards at Hogwarts. var wizards = [ { name: 'Harry Potter', house: 'Gryfindor' }, { name: 'Cedric Diggory', house: 'Hufflepuff' }, { name: 'Tonks', house: 'Hufflepuff' }, { name: 'Ronald Weasley', house: 'Gryfindor' }, { name: 'Hermione Granger', house: 'Gryfindor' } ]; You want to create a new array that contains just the names of wizards who are in Hufflepuff. One way you could do that is by using the Array.filter() method to get back just wizards whose house property is Hufflepuff. Then, you’d use the Array.map() method to create a new array containing just the name property for the remaining wizards. // Get the names of the wizards in Hufflepuff var hufflepuff = wizards.filter(function (wizard) { return wizard.house === 'Hufflepuff'; }).map(function (wizard) { return wizard.name; }); With the Array.reduce() method, we can get the same array in a single pass, improving our performance. You pass in an empty array ([]) as the starting value. On each pass, you check to see if the wizard.house is Hufflepuff. If it is, you push it to the newArr (our accumulator in this example). If not, you do nothing. Either way, you return the newArr to become the accumulator on the next pass. // Get the names of the wizards in Hufflepuff var hufflepuff = wizards.reduce(function (newArr, wizard) { if (wizard.house === 'Hufflepuff') { newArr.push(wizard.name); } return newArr; }, []); Here’s another demo. 3. Creating markup from an array What if, instead of creating an array of names, we wanted to create an unordered list of wizards in Hufflepuff? Instead of passing an empty array into Array.reduce() as our starting value, we’ll pass in an empty string ('') and call it html. If the wizard.house equals Hufflepuff, we’ll concatenate our html string with the wizard.name wrapped in an opening and closing list item (li). Then, we’ll return the html to become the accumulator on the next loop. // Create a list of wizards in Hufflepuff var hufflepuffList = wizards.reduce(function (html, wizard) { if (wizard.house === 'Hufflepuff') { html += '<li>' + wizard.name + '</li>'; } return html; }, ''); Add an opening and closing unordered list element before and after Array.reduce(), and you’re ready to inject your markup string into the DOM. // Create a list of wizards in Hufflepuff var hufflepuffList = '<ul>' + wizards.reduce(function (html, wizard) { if (wizard.house === 'Hufflepuff') { html += '<li>' + wizard.name + '</li>'; } return html; }, '') + '</ul>'; See it in action here. 4. Grouping similar items in an array together The lodash library has a groupBy() method takes a collection of items as an array and groups them together into an object based on some criteria. Let’s say you want an array of numbers. If you wanted to group all of the items in numbers together based on their integer value, you would do this with lodash. var numbers = [6.1, 4.2, 6.3]; // returns {'4': [4.2], '6': [6.1, 6.3]} _.groupBy(numbers, Math.floor); If you had an array of words, and you wanted to group the items in words by their length, you would do this. var words = ['one', 'two', 'three']; // returns {'3': ['one', 'two'], '5': ['three']} _.groupBy(words, 'length'); Creating a groupBy() function with Array.reduce() You can recreate that same functionality using the Array.reduce() method. We’ll create a helper function, groupBy(), that accepts the array and criteria to sort by as arguments. Inside groupBy(), we’ll run Array.reduce() on our array, passing in an empty object ({}) as our starting point, and return the result. var groupBy = function (arr, criteria) { return arr.reduce(function (obj, item) { // Some code will go here... }, {}); }; Inside the Array.reduce() callback function, we’ll check to see if the criteria is a function, or a property of the item. Then we’ll get its value from the current item. If there’s no property in the obj with that value yet, we’ll create it and assign an empty array as its value. Finally, we’ll push the item to that key, and return the object as the accumulator for the next loop. var groupBy = function (arr, criteria) { return arr.reduce(function (obj, item) { // Check if the criteria is a function to run on the item or a property of it var key = typeof criteria === 'function' ? criteria(item) : item[criteria]; // If the key doesn't exist yet, create it if (!obj.hasOwnProperty(key)) { obj[key] = []; } // Push the value to the object obj[key].push(item); // Return the object to the next item in the loop return obj; }, {}); }; Here’s a demo of the completed helper function. Special thanks to Tom Bremer for helping me make some improvements to this one. You can find this helper function and more like it on the Vanilla JS Toolkit. 5. Combining data from two sources into an array Remember our array of wizards? var wizards = [ { name: 'Harry Potter', house: 'Gryfindor' }, { name: 'Cedric Diggory', house: 'Hufflepuff' }, { name: 'Tonks', house: 'Hufflepuff' }, { name: 'Ronald Weasley', house: 'Gryfindor' }, { name: 'Hermione Granger', house: 'Gryfindor' } ]; What if you had another data set, an object of house points each wizard has earned. var points = { HarryPotter: 500, CedricDiggory: 750, RonaldWeasley: 100, HermioneGranger: 1270 }; Imagine you wanted to combine both sets of data into a single array, with the number of points added to each wizard’s data in the wizards array. How would you do it? The Array.reduce() method is perfect for this! var wizardsWithPoints = wizards.reduce(function (arr, wizard) { // Get the key for the points object by removing spaces from the wizard's name var key = wizard.name.replace(' ', ''); // If the wizard has points, add them // Otherwise, set them to 0 if (points[key]) { wizard.points = points[key]; } else { wizard.points = 0; } // Push the wizard object to the new array arr.push(wizard); // Return the array return arr; }, []); Here’s a demo combining data from two sources into an array. 6. Combining data from two sources into an object What if you instead wanted to combine the two data sources into an object, where each wizard’s name was the key, and their house and points were properties? Again, the Array.reduce() method is perfect for this. var wizardsAsAnObject = wizards.reduce(function (obj, wizard) { // Get the key for the points object by removing spaces from the wizard's name var key = wizard.name.replace(' ', ''); // If the wizard has points, add them // Otherwise, set them to 0 if (points[key]) { wizard.points = points[key]; } else { wizard.points = 0; } // Remove the name property delete wizard.name; // Add wizard data to the new object obj[key] = wizard; // Return the array return obj; }, {}); Here’s a demo combining two data sets into an object. Should you use Array.reduce() more? The Array.reduce() method has gone from being something I thought was pointless to my favorite JavaScript method. So, should you use it? And when? The Array.reduce() method has fantastic browser support. It works in all modern browsers, and IE9 and above. It’s been supported in mobile browsers for a long time, too. If you need to go back even further than that, you can add a polyfill to push support back to IE6. The biggest complaint you can make about Array.reduce() is that it’s confusing for people who have never encountered it before. Combining Array.filter() with Array.map() is slower to run and involves extra steps, but it’s easier to read. It’s obvious from the names of the methods what they’re supposed to be doing. That said, there are times where Array.reduce() makes things that would be complicated more simple rather than more complicated. The groupBy() helper function is a good example. Ultimately, this is another tool to add to your toolkit. A tool that, if used right, can give you super powers. About the author Chris Ferdinandi helps people learn vanilla JavaScript. He believes there’s a simpler, more resilient way to make things for the web. Chris is the author of the Vanilla JS Pocket Guide series, creator of the Vanilla JS Academy training program, and host of the Vanilla JS Podcast. His developer tips newsletter is read by thousands of developers each weekday. He’s taught developers at organizations like Chobani and the Boston Globe, and his JavaScript plugins have been used used by Apple and Harvard Business School. Chris Coyier, the founder of CSS-Tricks and CodePen, has described his writing as “infinitely quote-worthy.” Chris loves pirates, puppies, and Pixar movies, and lives near horse farms in rural Massachusetts. He runs Go Make Things with Bailey Puppy, a lab-mix from Tennessee. More articles by Chris Full Article Code javascript
use Cigarette taxes and teen marijuana use [electronic resource] / D. Mark Anderson, Kyutaro Matsuzawa, Joseph J. Sabia By darius.uleth.ca Published On :: Cambridge, Mass. : National Bureau of Economic Research, 2020 Full Article
use VA HOUSE OF DELEGATES v. BETHUNE-HILL. Decided 06/17/2019 By www.law.cornell.edu Published On :: Mon, 17 Jun 2019 00:00:00 EDT Full Article
use RUCHO, ROBERT A., ET AL. v. COMMON CAUSE, ET AL.. Decided 06/27/2019 By www.law.cornell.edu Published On :: Thu, 27 Jun 2019 00:00:00 EDT Full Article
use Assessment of the in-house laboratory independent research at the Army's Research, Development, and Engineering Centers / Army Research Program Review and Analysis Committee, Division on Engineering and Physical Sciences By library.mit.edu Published On :: Sun, 29 Mar 2020 07:44:51 EDT Online Resource Full Article
use Italian populism and constitutional law: strategies, conflicts and dilemmas / Giacomo Delledonne, Giuseppe Martinico, Matteo Monti, Fabio Pacini, editors By library.mit.edu Published On :: Sun, 12 Apr 2020 09:49:18 EDT Online Resource Full Article
use America's use of terror: from Colonial times to the A-bomb / Stephen Huggins By library.mit.edu Published On :: Sun, 12 Apr 2020 09:49:18 EDT Dewey Library - HV6432.H8244 2019 Full Article
use A war on people: drug user politics and a new ethics of community / Jarrett Zigon By library.mit.edu Published On :: Sun, 26 Apr 2020 09:04:30 EDT Dewey Library - HV5801.Z54 2019 Full Article
use Dying for rights: putting North Korea's human rights abuses on the record / Sandra Fahy By library.mit.edu Published On :: Sun, 26 Apr 2020 09:04:30 EDT Dewey Library - JC599.K7 F34 2019 Full Article
use Legislative hardball: the house freedom caucus and the power of threat-making in Congress / Matthew N. Green By library.mit.edu Published On :: Sun, 26 Apr 2020 09:04:30 EDT Dewey Library - JK1319.G744 2019 Full Article
use The rules and politics of American primaries: a state-by-state guide to Republican and Democratic primaries and caucuses / Andrew E. Busch, Editor By library.mit.edu Published On :: Sun, 26 Apr 2020 09:04:30 EDT Dewey Library - JK2071.R85 2019 Full Article
use Five years later, no place in Batla house for Azamgarh boys By archive.indianexpress.com Published On :: Thu, 19 Sep 2013 20:58:10 GMT Conversations on the encounter's authenticity still abound. Full Article
use Batla House encounter: HC notice to Delhi Police By archive.indianexpress.com Published On :: Fri, 20 Sep 2013 06:34:30 GMT Shahzad,was awarded life imprisonment for killing a police officer in Batla House encounter. Full Article
use Shopian killings: Separatists leaders under house arrest, curfew on for ninth consecutive day By archive.indianexpress.com Published On :: Fri, 20 Sep 2013 07:26:52 GMT Curfew was first clamped in Shopian on September 8, following widespread clashes. Full Article
use Gogoi admits giving tickets to accused, supports Rahul By archive.indianexpress.com Published On :: Sat, 28 Sep 2013 11:29:46 GMT Gogoi said number of accused getting tickets to contest Assam elections is less compared to other states. Full Article
use 2500 homeless families to get prefabricated houses: Bahuguna By archive.indianexpress.com Published On :: Thu, 03 Oct 2013 09:56:34 GMT It's an added benefit to the 2 lakh compensation given to families that lost homes in the tragedy. Full Article
use 4 injured as steel bombs made in unoccupied house explode By archive.indianexpress.com Published On :: Fri, 04 Oct 2013 04:22:45 GMT Ten other steel bombs were recovered from the house on Thursday night. Full Article