js数组中 我们很多数组的方法都知道其中的含义 但是每一次用的都不是很顺手 下边我给大家写了一个小小的demo 来理解那些 近似”双胞胎“的东西
// splice方法 var a=[1,2,3,4,5,6,7,8]; console.log(a.splice(4))//5 6 7 8 从第四个位置开始删除 返回删除的元素 索引值为0开始 不包括第四个位置的数组元素 console.log(a)// 1 2 3 4 新的修改完毕的数组 console.log(a.splice(1,2)) //2 3 返回删除的元素 console.log(a) //1 4 console.log(a.splice(1,1)) // 4 console.log(a) //1 console.log(a.splice(1,2)) //返回空数组 因为没有找到数组元素 console.log(a) //1 var b = [1,2,3,4,5]; console.log(b.splice(2,0,'a','b')) //[] 如果没有删除元素也是返回一个空数组 console.log(b) // [1, 2, "a", "b", 3, 4, 5] console.log(b.splice(2,2,[1,2],3)) // a b console.log(b) //[1, 2, [1, 2], 3, 3, 4, 5] // push 和pop var stack=[]; console.log(stack.push(1,2)) //2 返回的是数组新的长度 console.log(stack) // 1 2 console.log(stack.pop()) //2 // 删除数组的最后一个元素减小数组的长度并且返回他删除的数值 返回的是删除的数值 返回的是删除的数值 返回的是删除的数值(重要的事情说三遍) // unshift 和shift var a=[]; console.log(a.unshift(1)); //1 返回数组新的长度 这个是在头部添加元素 console.log(a.unshift(2)); //2 返回数组新的长度 这个是在头部添加元素 console.log(a) // 2 1 console.log(a.shift(2)); //2 删除一个元素并且把他返回 console.log(a) // 1 // toString() 和 toLocalestring() var a = [1,2,3]; console.log(a.toString()) // 1,2,3 console.log(a) // [1,2,3] 注意: toString 适合不使用参数的join方法返回的字符串是一样的 console.log(a.join()) // 1,2,3 console.log(a.toLocaleString()) // 1,2,3 // foreach var date=[1,2,3,4,5]; var sum = 0; date.forEach(function(value){ sum+=value;}) console.log(sum) // 15 date.forEach(function(v,i,a){ a[i]=v+1;}) console.log(date) //[2,3,4,5,6] 参数 数组元素 元素索引 数组本身 // map a = [1,2,3]; console.log(a.map(function(x){ return x*x})) // 1,4,9 返回一个新的数组 但是并没有修改原来数组的元素 console.log(a) // 1,2,3 a = [5,4,3,2,1]; console.log(a.filter(function(x) { return x < 3; })) // 2 1 console.log(a) // [5,4,3,2,1] // every 和some a = [1,2,3]; console.log(a.every(function(x){ return x<10})) //true console.log(a.every(function(x){ return x%2===0})) //false // indexOf 和lastIndexOf a = [1,2,3,4]; console.log(a.indexOf(2)) //1 从头开始返回找到的元素的索引 a[1]=2 console.log(a.indexOf(1)) //0 a[0]=1 console.log(a.lastIndexOf(3));// 从尾开始 2 console.log(a.lastIndexOf(1)); // 0 索引为0 console.log(a.indexOf(5))// -1 如果没有找到 那么就返回 -1
都加上了注释 可以拿过去自己解除 注释 看一下效果