美文网首页让前端飞
javaScript数组对象的几个方法

javaScript数组对象的几个方法

作者: danr小胖 | 来源:发表于2017-10-11 14:31 被阅读0次

Array.prototype.splice

splice() 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。
语法
array.splice(start)
array.splice(start, deleteCount)
array.splice(start, deleteCount, item1, item2, ...)

var myFish = ["angel", "clown", "mandarin", "surgeon"];

//从第 2 位开始删除 0 个元素,插入 "drum"
var removed = myFish.splice(2, 0, "drum");
//运算后的 myFish:["angel", "clown", "drum", "mandarin", "surgeon"]
//被删除元素数组:[],没有元素被删除

//从第 3 位开始删除 1 个元素
removed = myFish.splice(3, 1);
//运算后的myFish:["angel", "clown", "drum", "surgeon"]
//被删除元素数组:["mandarin"]

//从第 2 位开始删除 1 个元素,然后插入 "trumpet"
removed = myFish.splice(2, 1, "trumpet");
//运算后的myFish: ["angel", "clown", "trumpet", "surgeon"]
//被删除元素数组:["drum"]

//从第 0 位开始删除 2 个元素,然后插入 "parrot", "anemone" 和 "blue"
removed = myFish.splice(0, 2, "parrot", "anemone", "blue");
//运算后的myFish:["parrot", "anemone", "blue", "trumpet", "surgeon"]
//被删除元素的数组:["angel", "clown"]

//从第 3 位开始删除 2 个元素
removed = myFish.splice(3, Number.MAX_VALUE);
//运算后的myFish: ["parrot", "anemone", "blue"]
//被删除元素的数组:["trumpet", "surgeon"]

Array.prototype.slice()

slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。原始数组不会被修改。

var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
var citrus = fruits.slice(1, 3);

// fruits contains ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
// citrus contains ['Orange','Lemon']

Array.prototype.reduce()

reduce() 方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值。
语法
arr.reduce(callback[, initialValue])

数组累加求和

let res = [0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array){
  return accumulator + currentValue;
});
console.log(res);

reduce为数组中的每一个元素依次执行callback函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:①accumulator ②currentValue ③currentIndex ④array

回调函数第一次执行时,accumulator 和currentValue的取值有两种情况:调用reduce时提供initialValue,accumulator取值为initialValue,currentValue取数组中的第一个值;没有提供 initialValue,accumulator取数组中的第一个值,currentValue取数组中的第二个值

注意:如果没有提供initialValue,reduce 会从索引1的地方开始执行 callback 方法,跳过第一个索引。如果提供initialValue,从索引0开始。

Array.prototype.find()

find()方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined

var inventory = [
    {name: 'apples', quantity: 2},
    {name: 'bananas', quantity: 0},
    {name: 'cherries', quantity: 5}
];

function findBananas(fruit){
    return fruit.name === 'bananas';
}
console.log(inventory.find(findBananas));
const isPrime = (ele, index, arr) => {
    let start = 2;
    while(start <= Math.sqrt(ele)){
        if(ele % start ===0){
           return false;
        }
        start++;
    }
    return ele > 1;
}
const arr = [7,8,9,10,11];
console.log(arr.find(isPrime));

相关文章

  • javaScript数组对象的几个方法

    Array.prototype.splice splice() 方法通过删除现有元素和/或添加新元素来更改一个数组...

  • 数组的方法

    数组的方法 JavaScript Array对象的属性和方法 : https://...

  • 数组方法

    javascript中数组的22种方法 数组总共有22种方法,本文将其分为对象继承方法、数组转换方法、栈和队列方法...

  • JavaScript(Day02)

    1、JavaScript数组 2、JavaScript对象的使用 3、JavaScript内置对象

  • 14JavaScript数组对象去重的方法

    JavaScript数组对象去重方法 方法一:采用对象访问属性的方法,判断属性值是否存在,如果不存在就添加。

  • JavaScript的数组

    在 JavaScript 1.6 里,javascript 数组增加了几个非常有用的方法:indexOf、last...

  • JavaScript内置对象

    对象 什么是对象Javascript中的所有事物都是对象:字符串、数值、数组、函数…每个对象带有对象的属性和方法(...

  • JavaScript中数组操作常用方法

    1.检JavaScript中数组操作常用方法测数组 1)检测对象是否为数组,使用instanceof 操作符 2)...

  • 小哥带来的学习

    1、写一个方法:不定参数求和 前言: 1、类数组对象: 在javascript中,数组是一个特殊的对象,其prop...

  • JS数组函数

    W3C JavaScript Array 对象 concat(array) concat方法用于拼接数组,a.co...

网友评论

    本文标题:javaScript数组对象的几个方法

    本文链接:https://www.haomeiwen.com/subject/czxwyxtx.html