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