JS之原生数组splice方法实例
导读:收集整理的这篇文章主要介绍了JS之原生数组splice方法实例,觉得挺不错的,现在分享给大家,也给大家做个参考。<!DOCTYPE htML><html><head> <meta charset...
收集整理的这篇文章主要介绍了JS之原生数组splice方法实例,觉得挺不错的,现在分享给大家,也给大家做个参考。!DOCTYPE htML>
html>
head>
meta charset="UTF-8">
tITle>
Title/title>
/head>
body>
script>
/** splice(start, deleteCount, data1, data2, data3...)* */VAR arr = ['a', 'b', 'c', 'd', 'e'];
//1, 3// [8,6,4]//['a',8,6,4]//arr.splice(-5);
//console.LOG(arr);
function arrSplice(data, start, deleteCount) {
// 如果start不是数字,或不能转成数字,start默认就为0 if (isNaN(start)) {
start = 0;
}
start = Number(start);
// 如果start是负数 if (start 0) {
start = data.length + start;
}
if (start 0) {
start = 0;
}
// 如果deleteCount没传 if (deleteCount == undefined) {
deleteCount = data.length - start;
}
/* * 1. 准备一个空的数组,用于存放最后的结果 * 2. 循环源数组 * 1. 得到当前循环过程中的下标 * 2. 把这个下标和start做比较 * 1. 如果当前下标小于start,则把当前数组添加到新数组中 * 2. 否则 * 1. 是否有新增数据 * 1. 如果有新在数据,则把新增数据添加到新数组中 * 2. 否则,如果deleteCount大于0,忽略这个数据,并对deleteCount-- * 否则,把当前数据添加到新数组中 * */ var newArr = [];
//新增数据 var newData = [];
if (arguments.length >
3) {
for (var i=3;
iarguments.length;
@R_512_2563@) {
// newData.push(arguments[i]);
newData[newData.length] = arguments[i];
}
}
for (var i=0;
idata.length;
i++) {
if (i start) {
// newArr.push(data[i]);
newArr[newArr.length] = data[i];
}
else {
if (newData.length) {
//有新增数据的// newArr = newArr.concat(newData);
for (var j=0;
jnewData.length;
j++) {
newArr[newArr.length] = newData[j];
}
newData.length = 0;
}
if (deleteCount >
0) {
deleteCount--;
}
else {
// newArr.push(data[i]);
newArr[newArr.length] = data[i];
}
}
}
data = newArr;
console.log(data);
}
/script>
/body>
/html>
以上就是JS之原生数组splice方法实例的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: JS之原生数组splice方法实例
本文地址: https://pptw.com/jishu/584120.html
