Q:

for in range javascript

var colors=["red","blue","green"];
for (let i = 0; i < colors.length; i++) { 
  console.log(colors[i]);
}
82
for (i = 0; i < 5; i++) {
   text += "The number is " + i + "<br>";
}  
10
function myFunction() {
  var person = {fname:"John", lname:"Doe", age:25}; 
  
  var text = "";
  var x;
  for (x in person) {
    text += person[x] + " ";
  }
}
4
function range(start, end) {
	/* generate a range : [start, start+1, ..., end-1, end] */
	var len = end - start + 1;
	var a = new Array(len);
	for (let i = 0; i < len; i++) a[i] = start + i;
	return a;
}
2
function range(start, stop, step = 1, circularFill = false, map = (value) => value) {
	if (typeof stop === 'undefined') {
		stop = start;
		start = 0;
	}

	if (step > 0 && start >= stop) {
		step = -step;
	}

	if (step < 0 && start <= stop) {
		return [];
	}
	
	let index = start;
	const result = [];
	
	if (circularFill) {
		const size = start + stop;
		for (index; step > 0 ? index < size : index > size; index += step) {
			result.push(map(index % stop));
		}
		return result;
	}
	
	for (index; step > 0 ? index < stop : index > stop; index += step) {
		result.push(map(index));
	}

	return result;
}

// Range examples:

range(8)
// [0, 1, 2, 3, 4, 5, 6, 7]

range(-8)
// [0, -1, -2, -3, -4, -5, -6, -7]

range(25, 30, 2);
// [25, 27, 29]

range(-25, -30, -2);
// [-25, -27, -29]

range(5, 10, 1, true)
// [5, 6, 7, 8, 9, 0, 1, 2, 3, 4]

range(-5, -10, -1, true)
// [-5, -6, -7, -8, -9, -0, -1, -2, -3, -4]

function rangeChars(text, start, stop, step, circularFill, map = (value) => value) {
  start = text.indexOf(start);
  stop = text.indexOf(stop) + 1;
  return range(start, stop, step, circularFill, (i) => {
    return map(text[i]);
  });
}
rangeChars('shooooouuut!!!!', 'o', '!');
// ["o", "o", "o", "o", "o", "u", "u", "u", "t", "!"]
1
function* range(start=0, end=null, step=1) {
  if (end == null) {
    end = start;
    start = 0;
  }

  for (let i=start; i < end; i+=step) {
    yield i;
  }
}
0

New to Communities?

Join the community