一、判断是否为数组 Array.isArray()
<script>
// 数组创建方式
/*
1 字面量
var arr=[]
2 new关键字
var arr= new Array()
*/
// 判断是否为数组 Array.isArray() 返回值 true代表是数组 false代表不是数组
var arr = [1, 2, 3, 4]
console.log(Array.isArray(arr))//true
</script>
二、数组的增删方法
<script>
var arr = [1,2,3,4]
// arr[4]=5
// console.log(arr);
//push 推 在数组的末尾添加一个或者多个数组的元素,添加后会改变数组的长度,返回值是新数组的长度
arr.push(5,6,'你好')
console.log(arr);
console.log(arr.length);
console.log(arr.push());
//unshift 在数组的头部添加一个或者多个数组的元素,添加之后原来的数组元素的索引也会随之改变,length长度也会改变,返回值是新数组的长度
// arr.unshift(6,23,55,66)
// console.log(arr);
// console.log(arr[0]);
//pop 删除数组中的最后一个元素 不需要写任何参数,一次只能删一个,返回值是删除的那个元素
// console.log(arr.pop());
// console.log(arr.pop());
// console.log(arr);
//shift 删除数组中的第一个元素,不需要写任何参数,每次只能删除一个,返回值是删除的那个元素
console.log(arr.shift());
arr.shift()
console.log(arr);
</script>
三、筛选数组
<script>
// 把[23,45,4,3,6,8,3]大于10的元素筛选出来放在新的数组里
var arr = [23, 45, 4, 3, 6, 8, 3]
var newArr = []
for (var i = 0; i < arr.length; i++) {
if (arr[i] > 10) {
// newArr[newArr.length] = arr[i]
newArr.push(arr[i]) //newArr.push(23) newArr.push(45)
}
}
console.log(newArr)
</script>
四、反转数组和数组排序
<script>
// var arr=[23,45,4,3,6,8,3]
//reverse 反转数组元素,不需要写任何参数
/* var arr=[1,2,3]
var newArr=[]
for(var i=arr.length-1;i>=0;i--){
newArr[newArr.length]=arr[i]
// newArr.push(arr[i])
}
console.log(newArr);
var arr=[1,2,3]
arr.reverse()
console.log(arr); */
var arr=[23,45,4,3,6,8,3]
//sort
arr.sort(function(a,b){
return a-b //从小到大排序
return b-a //从大到小排序
})
console.log(arr);
</script>
五、查找数组索引
var arr = [23, 45, 4, 12, 6, 8, 3, 4]
// indexOf(元素/数据) 通过元素查找索引,返回值是元素的索引值,如果查找的元素不存在时,返回值为-1
// 如果数组内有两个相同的元素时只能返回第一个元素的索引
// console.log(arr.indexOf(12)) //3
// console.log(arr.indexOf(3)) //6
// console.log(arr.indexOf(5)) //-1
// console.log(arr.indexOf(7)) //-1
// console.log(arr.indexOf(4)) //2
// lastIndexOf() 是从后朝前查找元素,并返回元素所在的索引值
// 如果查找的元素不存在时,返回值为-1
console.log(arr.lastIndexOf(6)) //4
console.log(arr.lastIndexOf(4)) //7
console.log(arr.lastIndexOf(18)) //-1
六、数组去重
<script>
// 删除[23, 45, 4, 12, 6, 8, 3, 4, 12, 4, 65, 7, 3, 8]中重复的元素然后把不重复的元素存放在新的数组中
var arr = [23, 45, 4, 12, 6, 8, 3, 4, 12, 4, 65, 7, 3, 8]
var newArr = []
console.log(newArr.indexOf(2))//-1
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) == -1) {
newArr.push(arr[i])
}
}
console.log(newArr)
</script>
七、数组转字符串
<script>
var arr = [1, 2, 3]
// join(分隔符) 数组转字符串 如果不写分隔符时,默认以逗号分隔
// join('-')就会以-分割转成字符串
console.log(arr.join())
console.log(arr.join('-'))
</script>
八、字符串转数组
var str = 'hello,world'
//split(分隔符) 把字符串转为数组 通过分隔符进行分割成数组 两个符号必须相等,然后是以逗号分隔
console.log(str.split(','));
九、字符串相关属性
<script>
var str = 'hello'
// charAt(index) 根据位置返回字符
// console.log(str.charAt(1))//e
注:// console.log(str.indexOf('o',[起始的位置]))//4 根据字符返回位置
// console.log(str.indexOf('l'))//2
// concat(需要拼接的字符) 字符串的拼接
// console.log(str.concat('word'))//helloword
// substr(截取的起始位置,截取几个字符) 返回值时截取的字符
// console.log(str.substr(2, 3))//llo
// replace(被替换的字符,替换为的字符) 替换字符
str = str.replace('he', 'k')
console.log(str)//kllo
</script>