Programming examples without If statements
From now on, please try to avoid using if statements to implement our business
You may wonder what are the benefits of not using if? Well~, maybe there is no obvious benefit, it is just to change the way of thinking to solve the problem. There is nothing wrong with if-else, but in some cases a large number of if-else may make the code less readable. Below are some examples to help you feel the mystery.
Coding Tip: Try to Code Without If-statements
const arrayOfIntegers = [1, 4, 5, 9, 0, -1, 5];
let counter = 0; arrayOfIntegers.forEach((integer) => { const remainder = Math.abs(integer % 2); if (remainder === 1) { counter++; } }); console.log(counter);
let counter = 0; arrayOfIntegers.forEach((integer) => { const remainder = Math.abs(integer % 2); // 偶数除2的余数为零,奇数的余数为一 counter += remainder; }); console.log(counter);
variable, which violates the
immutable concept of functional programming currently advocated. Don't worry, it is not the focus of this article. Comparing the two examples, the implementation of the
if statement may be more compatible and can be adapted to the situation where the array element is a
decimal. If the array elements are of floating point type, the second example will not work properly.
new Date()as input, return the current day based on different dates
Workday or
Weekend.
const weekendOrWeekday = inputDate => { const day = inputDate.getDay(); if (day === 0 || day === 6) { return 'weekend'; } return 'weekday'; // Or, for ternary fans: // return (day === 0 || day === 6) ? 'weekend' : 'weekday'; }; console.log(weekendOrWeekday(new Date()));
const weekendOrWeekday = (inputDate) => { const day = inputDate.getDay(); return weekendOrWeekday.labels[day] || weekendOrWeekday.labels['default']; }; weekendOrWeekday.labels = { 0: 'weekend', 6: 'weekend', default: 'weekday' }; console.log(weekendOrWeekday(new Date()));
if statement represents which day is the weekend, and determines the conditional distribution The ones are relatively scattered. What we need to do is to correspond the numbers to the
weekend or weekday types. For example, in Example 2, you can use an object or map to store the corresponding relationship.
non-if codeimplementation has better readability and scalability
- If the input is
number
type, do double processing (5 => 10, -10 => -20)
- If the input is
string
type, repeat each Characters ('hello' => 'hheelloo')
- If the input is of type
function
, the function
will be called and executed twice - If the input is of type
array
, perform
doublerprocessing on each element of the array
- If the input is
object
Type, do
doublerprocessing for each attribute of the object
implementation<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">const doubler = (input) => {
switch (typeof input) {
case 'number':
return input + input;
case 'string':
return input
.split('')
.map(letter => letter + letter)
.join('');
case 'object':
Object.keys(input)
.map(key => (input[key] = doubler(input[key])));
return input;
case 'function':
input();
input();
}
};
console.log(doubler(-10));
console.log(doubler('hey'));
console.log(doubler([5, 'hello']));
console.log(doubler({ a: 5, b: 'hello' }));
console.log(
doubler(function() {
console.log('call-me');
}),
);</pre><div class="contentsignin">Copy after login</div></div>
non
Implementation<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">const doubler = (input) => {
return doubler.operationsByType[typeof input](input);
};
doubler.operationsByType = {
number: (input) => input + input,
string: (input) =>
input
.split('')
.map((letter) => letter + letter)
.join(''),
function: (input) => {
input();
input();
},
object: (input) => {
Object.keys(input)
.map((key) => (input[key] = doubler(input[key])));
return input;
},
};
console.log(doubler(-10));
console.log(doubler('hey'));
console.log(doubler([5, 'hello']));
console.log(doubler({ a: 5, b: 'hello' }));
console.log(
doubler(function() {
console.log('call-me');
}),
);</pre><div class="contentsignin">Copy after login</div></div>
is similar to Challenge #2, aggregating condition values together for unified processing.
Summary
When there are many judgment conditions for
if-else, the conditions are processed centrally (use object to store their corresponding relationships - the condition is used as key, and the processing is used as value ). The advantage is that it becomes easier to add or delete a certain condition, and the code is more readable. It is recommended to use the key-value
correspondence to replace part of the if-else
conditional judgment. Related recommendations:
The above is the detailed content of Programming examples without If statements. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



How to remove duplicate values from PHP array using regular expressions: Use regular expression /(.*)(.+)/i to match and replace duplicates. Iterate through the array elements and check for matches using preg_match. If it matches, skip the value; otherwise, add it to a new array with no duplicate values.

1. Programming can be used to develop various software and applications, including websites, mobile applications, games, and data analysis tools. Its application fields are very wide, covering almost all industries, including scientific research, health care, finance, education, entertainment, etc. 2. Learning programming can help us improve our problem-solving skills and logical thinking skills. During programming, we need to analyze and understand problems, find solutions, and translate them into code. This way of thinking can cultivate our analytical and abstract abilities and improve our ability to solve practical problems.

Build browser-based applications with Golang Golang combines with JavaScript to build dynamic front-end experiences. Install Golang: Visit https://golang.org/doc/install. Set up a Golang project: Create a file called main.go. Using GorillaWebToolkit: Add GorillaWebToolkit code to handle HTTP requests. Create HTML template: Create index.html in the templates subdirectory, which is the main template.

C++ programming puzzles cover algorithm and data structure concepts such as Fibonacci sequence, factorial, Hamming distance, maximum and minimum values of arrays, etc. By solving these puzzles, you can consolidate C++ knowledge and improve algorithm understanding and programming skills.

Python is an ideal programming introduction language for beginners through its ease of learning and powerful features. Its basics include: Variables: used to store data (numbers, strings, lists, etc.). Data type: Defines the type of data in the variable (integer, floating point, etc.). Operators: used for mathematical operations and comparisons. Control flow: Control the flow of code execution (conditional statements, loops).

Pythonempowersbeginnersinproblem-solving.Itsuser-friendlysyntax,extensivelibrary,andfeaturessuchasvariables,conditionalstatements,andloopsenableefficientcodedevelopment.Frommanagingdatatocontrollingprogramflowandperformingrepetitivetasks,Pythonprovid

Through GoGet, you can quickly and easily obtain Go modules. The steps are as follows: Run in the terminal: goget[module-path], where module-path is the module path. GoGet automatically downloads the module and its dependencies. The location of the installation is specified by the GOPATH environment variable.

C is an ideal choice for beginners to learn system programming. It contains the following components: header files, functions and main functions. A simple C program that can print "HelloWorld" needs a header file containing the standard input/output function declaration and uses the printf function in the main function to print. C programs can be compiled and run by using the GCC compiler. After you master the basics, you can move on to topics such as data types, functions, arrays, and file handling to become a proficient C programmer.
