Web Tools #489 - Array.values(), Media Tools, React, Git/CLI

Web Tools Weekly
WEB VERSION
Tools for Web Developers

Issue #489 • December 1, 2022

Advertisement
The Future Of Tech, Delivered Today.
Join over 450K people by reading Emerging Tech Brew, the 3-times-a-week email delivering the latest tech news impacting our future. From drones and AI to climate tech and robotics – if it affects your world, Emerging Tech Brew has you covered.

Subscribe for Free
Emerging Tech Brew

Here's another practical and relatively new array method that's now supported in all modern browsers: The Array.values() method. This method returns an array iterator object that iterates each value in the array.

Here's an example:

let fruits = ['apple', 'orange', 'kiwi', 'banana'];
let myIterator = fruits.values();

for (let value of myIterator) {
  console.log(value);
}

The above code uses a for...of loop to log each of the values of the array, one at a time. As you can see, this is a really easy way to iterate through all of an array's values.

As mentioned, the method returns an iterator object. This means instead of using a loop to automatically go through the values, you can use the iterator.next() method, which allows you to move to the next item in the array as needed.

Note the following code:

let vegs = ['celery', 'carrot', 'lettuce', 'radish'];
let myIterator2 = vegs.values();

console.log(myIterator2.next());
/* output:
{
  "value": "celery",
  "done": false
}
*/

You can try both of the above examples in this CodePen demo.

In the latter example, notice in the demo that I'm using the next() method five times. This takes the iterator through all the elements in the array. Each move through the array returns an object with two key/value pairs: The current item and a Boolean indicating whether the iteration is "done".

Once the iterator is done, it will no longer iterate the items and it won't return any values. This is the case whether you're using a loop or the next() method on the iterator object.

A couple of other things to note:

  • When iterating through sparse arrays (i.e. arrays with empty slots), the empty slots are treated the same as undefined (that is they are iterated to).
  • If you use a break statement to end iteration, you can continue iterating where you left off.

Overall this seems like a useful feature, particularly the ability to loop through all the items quickly and cleanly.

Now on to this week's tools!
 

Media Tools (SVG, Images, etc.)

The Future Of Tech, Delivered Today.
Join over 450K people by reading Emerging Tech Brew, the 3-times-a-week email delivering the latest tech news impacting our future. From drones and AI to climate tech and robotics – if it affects your world, Emerging Tech Brew has you covered.     SPONSORED  

Skware
A set of 100 "pixelated" icons that have a retro video game or 1980s vibe, available in SVG, PNG, or as a Figma community file.

Browser Logos
A repository of transparent, high-resolution logos for just about any browser, for use in presentations, blog posts, etc.

Jimpl
Online tool to view or remove EXIF data for any image. Drag and drop any image up to 50MB, all files deleted after 24 hours.

Boxy SVG
An online tool to edit SVG files that has a simple Photoshop-like UI, installable as a PWA or as a native app for Mac or Linux.

Imagator
Local-only web-based tool to compress, convert, edit, and resize images. The compressor gives you a before/after slider for quality checks.

Logo To Use
A one-stop location that has millions of free, contributed logos you can use for commercial projects, available in color, white, or black.

Lucide
This is a fork of Feather Icons, expanding to a set of 860+ icons in SVG or PNG format, with integrations for all major frameworks.

Lucide

JSON2Video
A video creation and video editing API aimed to automate the creation of marketing and content videos programmatically.

Womp
An easy-to-use 3D creation and publishing app, free while in Alpha, that allows you to create, edit, share, and render unique 3D content effortlessly from the browser.

CodeLet
Online tool to create images of code snippets for sharing on social media.
 

React Tools

Get Access to Marketing and Sales Resources
The ultimate industry insider hack, The Juice aggregates career-enhancing resources from top brands and thought leaders and organizes them in one place, so you don't have to keep filling out marketing forms for access.   SPONSORED  

Clapy
Figma plugin to export custom React components from any Figma design.

audio-player
A music player with custom controls, playlist, filters, and search for React and Next.js projects.

react-json-to-csv
A React button component to easily generate CSV downloads of JSON data.

use-modal-hook
A React hook for controlling modal components.

gl-react
A React library to write and compose WebGL shaders, that requires use with one of a set of other WebGL React implementations.

react-stick
A React component that allows you to attach an absolutely positioned node to a statically positioned anchor element.

react-stick

react-hanger
A collection of 15+ useful React hooks for performing various tasks on the page.

Found
A router for React that uses static route configurations with a focus on power and extensibility.

React Reactions
An old project. A React emoji picker or "reactions" component that lets you use reactions and emojis from Slack, Pokemon, GitHub, Facebook, and YouTube.

On the Release Radar:

Git, GitHub, and CLI Tools

It's Time To Rethink Your Media Diet
There’s a reason our friends at The Daily Upside are the fastest growing finance newsletter in the country. See why 750k+ readers trust their expert team for crisp, easy-to-read market insights – free, always.   SPONSORED  

Sharing
A command-line tool to share directories and files from the CLI to iOS and Android devices without the need of an extra client app.

hiSHtory
A shell history extension that keeps track of the commands you run, but also adds context, e.g. how long it took to run, whether it succeeded or failed, where you ran it, and on what machine.

Bugasura
A simple, fast and agile approach to reporting, tracking, and closing issues. Free plan is up to 5 users, unlimited projects.

Documatic
A search engine for your codebase that lets you find relevant code snippets and insights in seconds by asking a question. Free for open-source teams up to 5 projects.

CodeSandbox for GitHub
Official GitHub app for CodeSandbox, the popular online code collaboration tool.

FFmpeg.guide
A simple GUI to create complex FFmpeg filter graphs quickly and correctly, without having to mess with the cumbersome filter syntax.

FFmpeg.guide

GitHub Blocks
From GitHub, in Technical Preview. Extend your codebase with custom, interactive blocks that let you build rich documentation, enhance your workflows, and bring your repository to life.

GitHub Business Card
An online tool to generate an embeddable virtual business card from a GitHub user name that populates from the user's GitHub activity.

HighFlux
A next-generation Git client for the remote work era that includes a CLI and GUI.

La Terminal
SSH client that provides a fully-native, first-class touch experience for command-line hackers on iPhone and iPad.

Commercial Apps and Classifieds

These are commercial apps, affiliate links, PPC ads, and paid classifieds. Submit yours!
Endid – Slack plugin to keep track of GitHub Actions without YAML or noise.
TinyKiwi – A simple yet powerful image editor, tailor-made for makers.
Babbel – A language learning platform trusted by over 10 million subscribers worldwide.    AD
Noom – A science-based approach to weight loss, used successfully by millions.    AD
Snippety – Text expander and snippets app for Mac and iOS, for better productivity.
Affinity – Suite of apps for professional photo editing, publishing, and graphic design.
Binocs – A CLI-first uptime and performance monitoring tool for websites, applications, and APIs.

A Tweet for Thought

This is easily my favourite GitHub Copilot joke so far. Certainly some truth to it, though I would imagine some took exception to the implication.
 
A Tweet for Thought
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

If you're into astronomy, you might want to check out Stellarium, an open source "planetarium for your computer" that shows a realistic sky in 3D, just as what you would see with the naked eye, binoculars, or a telescope.

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
@WebToolsWeekly
PayPal.me/WebToolsWeekly

Older messages

Web Tools #488 - copyWithin(), JS Utilities, Databases, Uncats

Thursday, November 24, 2022

Web Tools Weekly WEB VERSION Issue #488 • November 24, 2022 Advertisement Hey Devs, Meet TelemetryHub! TelemetryHub is an observability tool that collects all your complex telemetry data into a single

Web Tools #487 - Autocomplete, CSS Tools, Build Tools, Uncats

Thursday, November 17, 2022

Web Tools Weekly WEB VERSION Issue #487 • November 17, 2022 Advertisement Turn Heads on Video with mmhmm Put yourself on screen with your slides. Move around for emphasis. Works with Zoom, Meet, and

Web Tools #486 - Future CSS, Frameworks, Media, React

Thursday, November 10, 2022

Web Tools Weekly WEB VERSION Issue #486 • November 10, 2022 Advertisement Get Early Access to TelemetryHub! TelemetryHub is an observability tool that collects all your complex telemetry data into a

Web Tools #485 - CSS Tools, Build Tools, React Native

Thursday, November 3, 2022

Web Tools Weekly WEB VERSION Issue #485 • November 3, 2022 Advertisement Stop Leaving Your // Todos for Dead 💀 Height's Code to Task feature automatically turns your // todo code comments into

Web Tools #484 - JS Libraries, Testing Tools, Uncats

Thursday, October 27, 2022

Web Tools Weekly WEB VERSION Issue #484 • October 27, 2022 Advertisement Get Early Access to TelemetryHub! TelemetryHub is an observability tool that collects all your complex telemetry data into a

You Might Also Like

Daily Coding Problem: Problem #1664 [Easy]

Friday, January 10, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Twitter. A permutation can be specified by an array P , where P[i] represents the

Spyglass Dispatch: The Case for a For-Profit OpenAI

Friday, January 10, 2025

RIP Venu • A More Political and Real Time Threads • An OpenAI Auction • Apple's Tough 2025 The Spyglass Dispatch is a newsletter sent on weekdays featuring links and commentary on timely topics

⌨️ 10 Mods to Improve Your Mechanical Keyboard — How to Set Up Quick Share on Windows

Friday, January 10, 2025

Also: Why Are Tech Companies Trying to Sell Me Expensive Clocks? How-To Geek Logo January 10, 2025 Did You Know Famed biologist Charles Darwin and US President Abraham Lincoln were born on the same day

Your best friends in design

Friday, January 10, 2025

​ Working With Designers Product manager & UX designer collaboration guide. How members of your product team work together is just as important as the work itself. A fundamental relationship within

Charted | How Canada Would Rank as the 51st State 📊

Friday, January 10, 2025

Donald Trump has floated the idea that Canada should be the 51st state. Here's how it compares statistically. View Online | Subscribe | Download Our App Presented by: Global X ETFs Power AI's

Pinpointing The Actual Problem 🎯

Friday, January 10, 2025

WordPress accidentally diagnoses its own business problem. Here's a version for your browser. Hunting for the end of the long tail • January 10, 2025 Pinpointing The Actual Problem A blog post from

😱Major Azure Outage in EastUS2, 🚀New AI and Azure Developer CLI Courses, azureedge.net DNS retiring

Friday, January 10, 2025

͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏

iOS Cocoa Treats

Friday, January 10, 2025

View in browser Hello, you're reading Infinum iOS Cocoa Treats, bringing you the latest iOS related news straight to your inbox every week. Adopting Swift 6 across the app codebase I've been

Issue #575: Excalibird, bird’s eye metropolis, and Stimulation Clicker

Friday, January 10, 2025

View this email in your browser Issue #575 - January 10th 2025 Weekly newsletter about Web Game Development. If you have anything you want to share with our community please let me know by replying to

22 CES products you can't miss

Friday, January 10, 2025

10 must-install Linux apps; Cybersecurity in 2025; Email encryption how-to -- ZDNET ZDNET Tech Today - US January 10, 2025 CES logo 2025 CES 2025: The 22 most impressive products you don't want to