1.利用 forEach 和 for 求和(其他方法紧接下)
// 求和 forEach 和 for循环
let arr =[1,6,7,9,2,5,7]
// forEach
let sum = 0
arr.forEach(function(item,index) {
sum += item;
if(index == arr.length-1) {
console.log(sum);
}
})
// for
let sum1 = 0
for(let i=0; i<arr.length; i++) {
arr[i] += sum
}
console.log(sum);
2.思路:>.先将数组元素进行遍历,并取出符合要求的对象。>.再遍历一次,并取出每个对象的 “name” 添加到数组中。>.最后将该数组转化为字符串。(其他方法紧接下)
// 把所有status 为true的 过滤出 拿到拼接的name 最终效果 奥特曼1,奥特曼3,奥特曼4
let arr = [{
name: '奥特曼1',
id: 1,
status: true,
}, {
name: '奥特曼2',
id: 2,
status: false,
}, {
name: '奥特曼3',
id: 3,
status: true,
}, {
name: '奥特曼4',
id: 3,
status: true,
}, {
name: '奥特曼5',
id: 3,
status: false,
}]
var arr1 = []
var arr2 = []
var arr1 = arr.filter((item)=> {
return item.status == true
})
console.log(arr1);
arr1.forEach((item,index)=> {
arr2.push(item.name)
});
console.log(String(arr2));
// 把所有status 为true的 过滤出 拿到拼接的name 最终效果 奥特曼1,奥特曼3,奥特曼4
let arr = [{
name: '奥特曼1',
id: 1,
status: true,
}, {
name: '奥特曼2',
id: 2,
status: false,
}, {
name: '奥特曼3',
id: 3,
status: true,
}, {
name: '奥特曼4',
id: 3,
status: true,
}, {
name: '奥特曼5',
id: 3,
status: false,
}]
let arr1= arr.filter(item=>item.status)
let arr2 = arr1.map(item=>item.name)
// let str = String(arr2)
let str = arr2.join(',')
console.log(arr1,arr2,str, arr.filter(it=>it.status).map(it=>it.name).join(',') );
3.思路:将该字符串利用正则表达式取出。(其他方法紧接下)
// 结果 我要拿到 路由重定向
let url = 'https://so.csdn.net/so/search?spm=1001.2014.3001.4501&q=路由重定向&t=&u='
let myRe = url.match(/路由重定向/i)[0]
console.log(myRe);
let url = 'https://so.csdn.net/so/search?spm=1001.2014.3001.4501&qqqqq=路由重定向&t=&u='
let arr = url.split('&')[1].split('=')[1]
console.log(url,arr);
4.思路:>.利用 for 循环遍历数组中的每个元素。>.利用 indexOf 方法,将新建数组(newArr) 中没有的元素追加进该数组。>.利用冒泡排序,将元素排列。(其他方法紧接下)
// 最后结果: [1,2,3,4,6,7,8] 《去重》
let arr = [1, 2, 3, 4, 6, 8, 1, 7, 6, 2]
let newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) == -1) {
newArr.push(arr[i]);
}
}
console.log(newArr);
for (var i = 0; i < newArr.length - 1; i++) {
for (var j = 0; j < newArr.length - 1 - i; j++) {
if (newArr[j] > newArr[j + 1]) {
var temp = newArr[j];
newArr[j] = newArr[j + 1];
newArr[j + 1] = temp;
}
}
}
console.log(newArr);
// 最后结果: [1,2,3,4,6,7,8] 《去重》
let arr = [1,2,3,4,6,8,1,7,6,2]
let arr1 = []
arr.forEach(it=>{
if(arr1.indexOf(it)==-1){
arr1.push(it)
}
} )
arr.forEach(it=>{
if(arr1.includes(it)) return
arr1.push(it)
} )
let arr2 =Array.from( new Set(arr))
console.log(arr2);
5.思路:>.利用 Math 对象随机取出 1到10 。>.判断随机数是否为这三个数字,如果是,则将该数字追加进原数组,然后利用冒泡排序。(其他方法紧接下)
// JavaScript 一个随机数 按顺序插入到数组中
let arr = [2, 4, 5]
// 产生一个 1-10的随机数 如果说这个随机数是10 那结果就是[2,4,5,10]
// 产生一个 1-10的随机数 如果说这个随机数是3 那结果就是 [2,3,4,5]
// 产生一个 1-10的随机数 如果说这个随机数是1 那结果就是 [1,2,4,5]
let arr1 = Math.ceil(Math.random() * 10)
console.log(arr1);
if (arr1 == 10 || arr1 == 3 || arr1 == 1) arr.push(arr1)
// let newArr = arr.toString()
// console.log(newArr);
console.log(arr);
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
// JavaScript 一个随机数 按顺序插入到数组中
let arr = [2,4,5]
// 产生一个 1-10的随机数 如果说这个随机数是10 那结果就是[2,4,5,10]
// 产生一个 1-10的随机数 如果说这个随机数是3 那结果就是 [2,3,4,5]
// 产生一个 1-10的随机数 如果说这个随机数是1 那结果就是 [1,2,4,5]
let num = Math.ceil(Math.random()*10)
arr.unshift(num)
console.log(arr.sort((a,b)=>a-b));