日常笔记-数组

数组
Array.isArray()//判断是否为数组

{}.toString.call([])//通用 用来判断数据类型的

indexOf(name) //查找数组里是否存在name 返回索引位置 如果不存在返回-1
lastIndexOf(name) //该函数返回相同元素中最后一个元素的索引 不存在返回-1
join(" ") //数组变字符串
toString()//数组变字符串 会有(,)
arr. concat(arr1,......)//arr和arr1合并返回新数组
arr.splice(开始位置,截取长度,可选参数)//返回的是截取的新数组,并且会改变原有数组可选。向数组添加的新项目。(原生脏函数)
.push()//数组后面添加
unshift()在数组前面的添加
pop()//删除数组末尾的元素 var first = nums.shift();返回的是被删除的元素
shift()//删除数组的第一个元素
.reverse()//数组倒序

sort()//数组 数字类型元素的正序排列 如为数字
function compare(num1, num2) {
return num1 - num2;
}
var nums = [3,1,2,100,4,200];
nums.sort(compare);
print(nums); // 1,2,3,4,100,200
sort() 函数使用了 compare() 函数对数组按照数字大小进行排序,而不是按照字典顺序。
不生成新数组的迭代器方法
foreach()遍历方法
every()该方法接受一个返回值为布尔类型的函数,对数组中的每
个元素使用该函数。如果对于所有的元素,该函数均返回 true,则该方法返回 true。
some()方法也接受一个返回值为布尔类型的函数,只要有一个元素使得该函数返回 true,该方法就返回 true
reduce()方法接受一个函数,返回一个值。该方法会从一个累加值开始,不断对累加值和
数组中的后续元素调用该函数,直到数组中的最后一个元素,最后返回得到的累加值
例如 :var nums = [1,2,3,4,5,6,7,8,9,10];
var sum = nums.reduce(function(num ,i){//num返回的永远是 renturn 返回的值
console.log(num)
return num
});
reduceRight()//和 reduce() 方法不同,它是从右到左执行。

生成新数组的迭代器方法
map() 和 forEach() 有点儿像,对数组中的每个元素使用某个函数。两者的区别是 map() 返回一个新的数组,该数组的元素是对原有元素应用某个函数得到的结果。

filter() 和 every() 类似,传入一个返回值为布尔类型的函数。和 every() 方法不同的是,
当对数组中的所有元素应用该函数,结果均为 true 时,该方法并不返回 true,而是返回
一个新数组,该数组包含应用该函数后结果为 true 的元素。
例如:var arr1=[1,2,3,4,5,5,6];
var arr2=arr1.filter(function(item,i){
return item>4
});

你可能感兴趣的:(日常笔记-数组)