map2 each2 javascript prototypes
by bilbobaggins
HTML
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
<div id="container">
</div>
JavaScript
var content=[ { "inputtype": "textbox", "inputname": "role", "inputplaceholder": "Role", "fieldtypename": "STRING", "fieldvalidatename": "string", "fieldmaxlength": "80" }, { "inputtype": "multiselect", "inputname": "modname", "inputplaceholder": "Module", "fieldtypename": "STRING", "fieldvalidatename": "string", "fieldmaxlength": "80" }, { "inputtype": "multiselect", "inputname": "accesstype", "inputplaceholder": "accesstype", "fieldtypename": "STRING", "fieldvalidatename": "string", "fieldmaxlength": "80" } ]
const doChunk = (list, size) => list.reduce((r, v) =>
(!r.length || r[r.length - 1].length === size ?
r.push([v]) : r[r.length - 1].push(v)) && r
, []);
Array.prototype.forEach2=function(a){
var l=this.length;
for(var i=0;i<l;i++)a(this[i],i)
}
Array.prototype.map2=function(a){
var l=this.length;
var array=new Array(l),i=0;
for(;i<l;i++){array[i]=a(this[i],i)}
return array;
}
let redlime=doChunk(content, 2)
redlime.forEach2(function (item) {
var content ='<div class="row">'
item.forEach2(function (items) {
console.log(items)
content +='<div class="col-sm-6" >'+
'<p>'+items.inputname+'</p></div>';
})
content +='</div>'
$("#container").append(content)
})