需求:去除包含a的数组元素
开始前,提一下indexOf方法,怕有些人忘记了…
indexOf()方法:可返回某个指定的字符串值在字符串中首次出现的位置。
注释:indexOf()方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回 -1。
// 使用传统的方法
var arr = ['lla','gsga','ss']
var newArr = []
for(var i = 0;i< arr.length;i++){
if(arr[i].indexOf('a') === -1){
newArr.push(arr[i])
}
}
console.log('我是for循环,',newArr);
// 使用forEach方法
// 定义: forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。
// 注意: forEach()对于空数组是不会执行回调函数的,forEach只能遍历,
// 不能对数组进行排序。
// 语法: array.forEach(function(currentValue, index, arr), thisValue)
var arr1 = ['ll','gsga','sas','bia','sass','sdsd','dadasd']
var newArr1 = []
arr1.forEach(function(item,i){
if(item.indexOf('a') === -1){
newArr1.push(item)
}
})
console.log('我是forEach,',newArr1);
// 另外在forEach中不能使用continue和break;但有替代
// return和return true 等于 continue
// return 等于 false
// 使用filter方法
// 定义: filter()方法创建一个"新的数组",新数组中的元素是通过检查指定数组中符合
// 条件的所有元素。
// 注意: 1.filter()不会对空数组进行检测。 2.filter()不会改变原始数组。
// 3.结果为true时,保留。false时,移除。
// 语法: array.filter(function(currentValue,index,arr), thisValue)
var arr2 = ['abcc','bag','cc','dd','adssad','werwer','fjiji','saksd']
newArr2 = arr2.filter(function(item){
return item.indexOf('a') === -1
})
console.log('我是filter,',newArr2);