JSFiddle - React, Tailwind, and code Playground
by Andrey
JavaScript
//reduce
var source = [1,2,3,4,5];
console.log(source.reduce(function(a, b){
return a+b;
},1));
var res = 0;
function myReduce(arr, func, init){
if(arguments[2] == undefined){
res = arr[0];
for(i = 1; i < arr.length; i++){
func(arr[i])
};
}
else{
res = init;
for(i = 0; i < arr.length; i++){
func(arr[i])
};
}
return res;
};
console.log(myReduce(source, function(input){
return res += input;
},1));
//map
/*var source = [1,2,3,4,5];
var res = [];
function myMap(arr, func){
for(i = 0; i < arr.length; i++){
res[i] = func(arr[i])
};
};
myMap(source, function(input){
return input*2;
});
console.log(res);*/
/*forEach*/
/*var source = [1,2,3,4,5];
function myForEach(arr, func){
for(var i = 0; i < arr.length; i++){
func(arr[i], i);
};
};
myForEach(source, function func(val, index){
console.log(val, index);
})*/
/*splice*/
/*var source = [1,2,3,4,5];
//console.log(source.splice(2, 2));
//console.log(source);
function mySlice (inputSource, initial, endDel){
var res = [],
leftArray = [],
rightArray = [],
arg = [],
newArr = [],
rightArrayWithoutPush = [];
//элементы, которые остануться слева перед удаляемыми
for(var i = 0; i < initial; i++){
leftArray.push(inputSource[i]);
};
//элементы, которые остануться справа после удаляемых
for(i = (initial + endDel); i<inputSource.length; i++){
rightArrayWithoutPush[i-(initial + endDel)] = inputSource[i];
// alert(inputSource[i]);
rightArray.push(inputSource[i]);
}
console.log('without', rightArrayWithoutPush);
console.log(leftArray, rightArray);
//console.log(res.concat(leftArray, rightArray));
//массив добавляемых элементов
for(i = 3; i<arguments.length; i++){
arg.push(arguments[i]);
// console.log(arg);
}
newArr = newArr.concat(leftArray, arg, rightArray);
//console.log(leftArray, arg, rightArray)
console.log(newArr);
return newArr;
};
mySlice(source, 2, 0, "Привет",...