数组API

Posted sunmarvell

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组API相关的知识,希望对你有一定的参考价值。

forEach无返回值,(返回值是undefined)
 var arry=[3,45,0]
arry.forEach(function(item,index){
 //遍历数组所有元素
}
)
 var arry=[3,45,0]
var result=arry.every(function(item,index){
           //判断数组所有元素是否都满足一个条件
           if (item<5){
               return true
               }
      //    else{
    //              return false;
//}     
  //不用写else,不满足条件,会直接返回false   
})
console.log(result)     //false
 var arry=[3,5,0]
var result=arry.some(function(item,index){
       //判断数组中只要有一个元素满足条件即可
           if (item<5){
               return true
               }
 })
console.log(result)      //true     
 var arry=[6,5,7,8]
var result=arry.map(function(item,index){
       //将元素重新组装,并返回
         
               return \'<b> \'+item+\'</b>\'
              
 })
console.log(result)
// ["<b> 6</b>", "<b> 5</b>", "<b> 7</b>", "<b> 8</b>"]
 var arry=[6,5,7,8]
var result=arry.filter(function(item,index){
       //通过某一条件过滤数组
         
            if(item>6){
    return true
     }
              
 })
console.log(result)
//[7, 8]

 sort会改变原数组

 var arry=[3,5,0]
var result=arry.sort(function(a,b){
       //数组从小到大排序
          return a-b
//数组从大到小排序
        // return b-a
 })
console.log(result)     //[0,3,5]
arry  //[0,3,5]

filter、map、every、foreach、some都不会改变原数组。

reduce 不会改变原数组

var numbers = [1,2,3];
 
function getSum(total, num) {
    return total + num;
}
var arr=numbers.reduce(getSum);
arr //6

splice: 会改变原数组 (开始位置,删除几个(不传则默认到结束位置),item1,.....,添加的元素,itemX)

var arr=[1,2,3,4,5];

var bb=arr.spilce(2); //不传第二个参数则默认截取到末位

arr//[1, 2]  
bb//[3,4,5]

当第二个参数穿0时

var arr=[1,2,3,4,5];

var bb=arr.splice(2,0); //则不截取,得到空数组

arr// [1, 2, 3, 4, 5]
bb//[ ]

当增加数据时

var arr=[1,2,3,4,5];

var bb=arr.splice(2,1,"增加","w"); //则不截取,得到空数组

arr// [1, 2, "增加", "w", 4, 5]
bb//[3 ]

slice(startend) 不会改变原数组

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var myBest1 = fruits.slice(-3,-1); // 截取倒数第三个(包含)到倒数第一个(不包含)的两个元素
var myBest2 = fruits.slice(-3);  // 截取最后三个元素
myBest1 //["Lemon", "Apple"]
myBest2 //  ["Lemon", "Apple", "Mango"]
fruits // ["Banana", "Orange", "Lemon", "Apple", "Mango"]

concat() 不会改变原数组  可以连接好多个

var arr1 = ["Cecilie", "Lone"];
var arr2 = ["Emil", "Tobias", "Linus"];
var arr3 = ["Robin", "Morgan"];
var myChildren = arr1.concat(arr2, arr3);
arr1    //  ["Cecilie", "Lone"]
myChildren   //["Cecilie", "Lone", "Emil", "Tobias", "Linus", "Robin", "Morgan"]

 

 

以上是关于数组API的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段10—— 数组的响应式方法

如何在 JSON 中为 v3 YouTube API 上传构建片段和状态

onActivityResult 未在 Android API 23 的片段上调用

web代码片段

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

导航到另一个片段时触发 API 调用