EN
JavaScript - add value to Set and return true on success or false on fail
3 points
In this article, we would like to show you how to add value to Set and return true on success or false on fail in JavaScript.
Quick solution:
xxxxxxxxxx
1
const set = new Set();
2
3
if (set.size !== (set.add('Some value ...'), set.size)) {
4
console.log('Some value added!');
5
}
In this example, we check the set
size before and after adding a value to it. If the sizes are the same, it means the element hasn't been added and the function returns false
, otherwise returns true
.
xxxxxxxxxx
1
const addValue = (set, value) => set.size !== (set.add(value), set.size);
2
3
4
// Usage example:
5
6
const set = new Set();
7
8
console.log(addValue(set, 'a')); // true
9
console.log(addValue(set, 'a')); // false
10
console.log(addValue(set, 'b')); // true
11
console.log(addValue(set, 'c')); // true
In this example, we use has()
method to check whether an element with the specified value exists in a Set object. If the value exist, it means the element can't be added and the function returns false, otherwise returns true
.
xxxxxxxxxx
1
const addValue = (set, value) => set.has(value) ? false : (set.add(value), true);
2
// or: const addValue = (set, value) => !set.has(value) && (set.add(value), true);
3
4
5
// Usage example:
6
7
const set = new Set();
8
9
console.log(addValue(set, 'a')); // false
10
console.log(addValue(set, 'a')); // true
11
console.log(addValue(set, 'b')); // false
12
console.log(addValue(set, 'c')); // false