JSFiddle - React, Tailwind, and code Playground

by shriek

HTML

<div>
		<span data-bind="foreach: amount">
			<span data-bind="foreach: $root['data'+$index()]">
				<p data-bind="text:$data"></p>
		</span>
		</span>
		<button data-bind="click: bindOneByOne" value="Populate">Populate/Change</button>
		<button data-bind="click: changeValues" value="Mutate">Mutate</button>
	</div>

JavaScript

var VM = function(){
		var self = this;
		self.amount = ko.observableArray();
		self.data0 = ko.observable([10,11,12]);
		self.data1 = ko.observable([1,2,3]);
		self.data2 = ko.observable([3,4,5]);
		self.data3 = ko.observable([6,7,8]);
		self.data4 = ko.observable([9,10,11]);
		self.bindOneByOne = function(){
			var self = this;
			var i = 0;
			while(self['data' + i]){
				for(var j = 0, len = self['data'+i]().length; j < len; j++){
					self['data'+i]()[j] *= 2; 
				}
				self.amount.push(i);
                console.log(self['data'+i]());
				i++;
			}
		};
		self.changeValues = function(){
			var i = 0;
			while(self['data' + i]){
				setTimeout(self['data' +i].valueHasMutated,i*1000);
				i++;
			}
		}
	};
	myVM = new VM();
	ko.applyBindings(myVM);