Suppose I have an array:
const array = [
{
name: "Name 1",
numbers: 3
},
{
name: "Name 2",
numbers: 2
},
{
name: "Name 3",
numbers: 3
}
]
I want that every object with numbers value get multiplied by its state. Want this:
// Expected Output
const array2 = [
{
name: "Name 1"
},
{
name: "Name 1"
},
{
name: "Name 1"
},
{
name: "Name 2"
},
{
name: "Name 2"
},
{
name: "Name 3"
},
{
name: "Name 3"
},
{
name: "Name 3"
}
]
Here every object is multiplied by its number value How can I do that?
You can do:
const array = [{name: "Name 1",numbers: 3},{name: "Name 2",numbers: 2},{name: "Name 3",numbers: 3}]
const result = array.map(({ name, numbers }) =>
[...Array(numbers)].map(_ => ({ name }))).flat()
console.log(result)
for (length of array) and while (something is not 0)
const array = [
{
name: "Name 1",
numbers: 3
},
{
name: "Name 2",
numbers: 2
},
{
name: "Name 3",
numbers: 3
}
]
function splitArray(arr) {
let newArr = [], number = -1;
for (let item of arr) {
number = item.numbers;
while (number--) {
newArr.push(item.name);
}
}
return newArr
}
console.log( splitArray(array) );
Loop array item first and get the numbers and loop the numbers inside.
let newArray = [];
for(i=0; i<array.length; i++){
//get item number
var numberCount = array[i].numbers;
for(j=0; j<numberCount.length; j++){
newArray.push(array[i].name);
}
}