js 中的数组方法

//1.数组去重
var fruits = ["banana", "apple", "orange", "watermelon", "apple", "orange", "grape", "apple"];
//方法一
var arr = Array.from(new Set(fruits))
// console.log(arr) //[ ‘banana‘, ‘apple‘, ‘orange‘, ‘watermelon‘, ‘grape‘ ]

//方法二
var arr2 = [...new Set(fruits)]
// console.log(arr2) //[ ‘banana‘, ‘apple‘, ‘orange‘, ‘watermelon‘, ‘grape‘ ]

//2.替换数组中的某一个值
var fruits = ["banana", "apple", "orange", "watermelon", "apple", "orange", "grape", "apple"];
fruits.splice(1, 2, "potato", "tomato")
// console.log(fruits) //[ ‘banana‘, ‘potato‘,‘tomato‘,‘watermelon‘,‘apple‘,‘orange‘,‘grape‘,‘apple‘ ]

//3.没有map的映射数组
var friends = [
    { name: "John", age: 22 },
    { name: "Peter", age: 23 },
    { name: "Mark", age: 24 },
    { name: "Maria", age: 22 },
    { name: "Monica", age: 21 },
    { name: "Martha", age: 19 },
]
var friendsNames = Array.from(friends,({name}) => name)
// console.log(friendsNames) //[ ‘John‘, ‘Peter‘, ‘Mark‘, ‘Maria‘, ‘Monica‘, ‘Martha‘ ]
//Array.from() 方法,用于数组的浅拷贝。就是将一个类数组对象或者可遍历对象转换成一个真正的数组。

//4.空数组
var fruits = ["banana", "apple", "orange", "watermelon", "apple", "orange", "grape", "apple"];
fruits.length = 0 //这种方法是让fruits的长度为0,清空数组的元素
fruits = [] //这种方法是让fruits重新指向一个空数组
// console.log(fruits.length)

//5.数组转对象
var fruits = ["banana", "apple", "orange", "watermelon", "apple", "orange", "grape", "apple"];
var objfruits = {...fruits}
// console.log(objfruits) //{0: "banana", 1: "apple", 2: "orange", 3: "watermelon", 4: "apple", 5: "orange", 6: "grape", 7: "apple"}

//6.对象转数组
//方法一:Object.values(object)
var obj = {
    0: ‘nihao‘,
    1: ‘haha‘,
    2: ‘gansha‘
}
var arrobj = Object.values(obj)
// console.log(arrobj) //[ ‘nihao‘, ‘haha‘, ‘gansha‘ ]
//方法二:Object.keys(object)
var arrobj2 = Object.keys(obj)
// console.log(arrobj2) //[ ‘0‘, ‘1‘, ‘2‘ ]
//方法三:Array.from
var arrobj3 = Array.from(obj)
// console.log(arrobj3) //[ ‘nihao‘, ‘haha‘, ‘gansha‘ ]

//7.初始化数组填充数据
var newArr = new Array(10).fill(‘nihao‘)
// console.log(newArr) //["nihao", "nihao", "nihao", "nihao", "nihao", "nihao", "nihao", "nihao", "nihao", "nihao"]

//8.合并数组
var fruits = ["apple", "banana", "orange"];
var meat = ["poultry", "beef", "fish"];
var vegetables = ["potato", "tomato", "cucumber"];
//方法一:.concat 该方法用于连接两个或多个数组,不会改变现有的数组,而仅仅会返回被连接数组的一个副本。array1.concat(arr2,arr3,...arrn)
var food = fruits.concat(meat,vegetables)
// console.log(food) //["apple", "banana", "orange", "poultry", "beef", "fish", "potato", "tomato", "cucumber"]
//方法二:扩展运算符...
var food2 = [...fruits,...meat,...vegetables]
// console.log(food2)
//其他方法:for循环,map方法
// arr1.map(item=>{
//     arr2.push(item)
// });
//9.两个数组的交集
//new Set 方法确两个数组中的值不重复,然后用filter和includes过滤每一项,
var nums1 = [1,2,4,5,7]
var nums2 = [2,4,6,8,10]
var nums = [...new Set(nums1)].filter(item =>{
    nums2.includes(item)
})
// console.log(nums)

//10.从数组中删除假值
//在Javascript中,假值是false, 0, " ", null, NaN, undefined。
var falsearr = [0, 1,"blue", "", NaN, 9, true, undefined, "white", false];
var turearr = falsearr.filter(Boolean)
// console.log(turearr) //[ 1, ‘blue‘, 9, true, ‘white‘ ]

//11.从数组中获取随机值
var colors = ["blue", "white", "green", "navy", "pink", "purple", "orange", "yellow", "black", "brown"];
var randomColors = [Math.floor(Math.random() * (colors.length))]
// console.log(randomColors)

//12.数组反转
var colors = ["blue", "white", "green", "navy", "pink", "purple", "orange", "yellow", "black", "brown"];
var reColors = colors.reverse()
// console.log(reColors)

//13.lastIndexOf()方法
//查找元素在数组中最后一次出现的位置
var colors = ["blue", "white", "green", "navy", "pink", "purple","blue", "white", "orange", "yellow", "black", "brown"];

var x = colors.lastIndexOf(‘blue‘)
console.log(x) //6
//14.将数组中的所有元素相加
//reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
var nums = [1, 5, 2, 6];
var y = nums.reduce( (x,y) => x+y)

原文地址:https://www.cnblogs.com/lyt0207/p/12408433.html

时间: 2024-10-11 19:57:03

js 中的数组方法的相关文章

字符串方法,js中的数组方法,ES5新增的数组方法,以及jQuery中的数组方法

说明:本片主要对比介绍与数组操作相关的方法 (一)字符串方法(String对象方法) indexOf() //检索字符串 lastIndexOf() //从后向前搜索字符串 match() //找到一个或多个正则表达式的匹配 replace() //替换与正则表达式匹配的子串 search() //检索与正则表达式相匹配的值 slice() //提取字符串的片断,并在新的字符串中返回被提取的部分 split() //把字符串分割为字符串数组 substr() //从起始索引号提取字符串中指定数目

js中的数组方法

数组的方法有数组原型方法,也有从object对象继承来的方法,这里我们只介绍数组的原型方法,数组原型方法主要有以下这些: join()push()和pop()shift() 和 unshift()sort()reverse()concat()slice()splice()indexOf()和 lastIndexOf() (ES5新增)forEach() (ES5新增)map() (ES5新增)filter() (ES5新增)every() (ES5新增)some() (ES5新增)reduce(

JS中申明数组的三种方法

JS中的数组对象可以存放的元素非常丰富,包括number.String等基本的数据类型以及object对象还有数组类型,他们都可以构成数组元素的一部分. 方法1: var a = new array(); a[0] = "1";//String类型 a[1] = 2;//number类型 a[2] = { x:1, y:3};//object对象作为数组的元素 //方法2: var  a  =  new array("1" , 2 , {x:1,y:3} ); //

js中删除数组元素的几种方法

1:js中的splice方法 splice(index,len,[item])    注释:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 index:数组开始下标        len: 替换/删除的长度       item:替换的值,删除操作的话 item为空 如:arr = ['a','b','c','d'] 删除 ----  item不设置 arr.splice(1,1)   //['a','c','d']         删除起始下

js中删除数组中某一项的方法

1:js中的splice方法 splice(index,len,[item])    注释:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 index:数组开始下标        len: 替换/删除的长度       item:替换的值,删除操作的话 item为空 如:arr = ['a','b','c','d'] 删除 ----  item不设置 arr.splice(1,1)   //['a','c','d']         删除起始下

js中的数组对象排序

一.普通数组排序 js中用方法sort()为数组排序.sort()方法有一个可选参数,是用来确定元素顺序的函数.如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序.如: var arr = ["a", "b", "A", "B"]; arr.sort(); console.log(arr);//["A", "B", "a", "b"

php学习笔记(JS中的常见方法)

JS中的常见方法: 1.日期时间函数(需要用变量调用): var b = new Date(); //获取当前时间 b.getTime() //获取时间戳 b.getFullYear() //获取年份 b.getMonth()+1; //获取月份 b.getDate() //获取天 b.getHours() //获取小时 b.getMinutes() //获取分钟 b.getSeconds() //获取秒数 b.getDay() //获取星期几 b.getMilliseconds() //获取毫

JS中对数组元素进行增删改移

在js中对数组元素进行增删改移,简单总结了一下方法: 方法 说明 实例 push( ); 在原来数组中的元素最后面添加元素 arr.push("再见58"); unshift( ); 在原来数组中的元素最前面添加元素 arr.shift("你好58"): pop(); 移除数组中最后面的一个元素 arr.pop(); shift(); 移除数组中最前面的一个元素 arr.shift(); concat(); 拼接两个数组中的元素 (哪个数组在前面,拼接后它的元素就在

js学习笔记——数组方法

join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1#2#3"; 如果没有指定分隔符,则默认为逗号 var str2=arr.join(); //str2="1,2,3"; reverse() 在原数组上把元素的顺序颠倒过来,并返回该数组 var arr=[1,2,3]; arr.reverse(); //arr=[3,2,1];