2

I ran into a problem with a for-loop in js. Let me try to explain my issue.

For example, we have an array

let arr = [15, 29, 44];

also we have a for loop

for (let h = 1; h < 100; h +=10) {
 
}

I need to iterate over an array inside the loop, so when h goes bigger than array it continues from the value number.

In the end I should get values like: 10, 15, 25, 35, 44, 54...

I'm trying to make a double loop, but it confuses me.

My code:

for (let h = 1; h < 100; h +=10) {
 for (var i = 0; i < arr .length; i++) {
   if(i > h) {
h=i;    
}
}
}

Does there better way to do it?

UPD. Sorry, tha arry should be let array = [{'key': 15}, {'key':29}, {'key':44}];

Thanks

1 Answer 1

1

You could take a single loop with a check if h is greater than a value from the array, then take this value instead.

const
    data = [{ key: 15 }, { key: 29 }, { key: 44 }],
    result = [];

for (let h = 10, i = 0; h < 100; h +=10) {
    if (h > data[i]?.key) h = data[i++].key;
    result.push(h);
}

console.log(...result);

Sign up to request clarification or add additional context in comments.

1 Comment

Sorry, I made a mistake: it should be an object array let array = [{'key': 15}, {'key':29}, {'key':44}]; How to do it in that way?

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.