目录
方法二:拿当前项 和 后面所有项 进行比较,如果相同,就把后面的重复项删除掉
方法二:利用字符串的split()方法 和 数组的join()方法
一、9x9乘法表
var str=''
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
str += i + '*' + j + '='+i * j+'\t'
if(i===j){
str+='\n'
}
}
console.log()
}
console.log(str)
二、获取指定范围的水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153
注意思路
// 判断一个数字是否水仙花数的函数
function narcissistic(nb) {
var b = parseInt(nb / 100)
var s = parseInt(nb % 100 / 10)
var g = parseInt(nb % 10)
if(nb === Math.pow(g,3) + Math.pow(s,3)+ Math.pow(b,3)) {
console.log(“水仙花数:”, nb)
return true
}
return false
}
// 封装获取指定范围的水仙花数函数
function getNarc(start, end) {
for(var i = start; i <= end; i++) {
narcissistic(i)
}
}
getNarc(111, 999)
三、找出1~100之间的质数
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
//判断一个数是否是质数
function prime(nb) {
for (var i = 2; i <= Math.sqrt(nb); i++) {
if (nb % i === 0) {
return false
}
}
console.log('质数:', nb)
return true
}
// 获取指定范围的质数
function getPrime(start, end) {
for (var i = start; i <= end; i++) {
prime(i)
}
}
getPrime(1, 100)
四、封装一个获取指定元素样式的函数
//获取指定元素样式的函数
function getStyle(ele, styleName) {
if(ele.currentStyle){
return ele.currentStyle[styleName]
} else {
return getComputedStyle(ele)[styleName]
}
}
五、封装函数,实现数组中重复数据的剔重功能
方法一:
// 原始数组
var arr = [1, 1, 5, 4, 4, 9]
// 数组剔重函数
function tc(arr) {
//声明一个新数组,用于存放不重复的数据
var newArr = []
for (var i = 0; i < arr.length; i++) {
//如果数组项arr[i]在新数组中不存在,则添加到新数组
//if(!newArr.includes(arr[i])){
if (newArr.indexOf(arr[i]) < 0) {
// 数据在新数组中不存在,添加
newArr.push(arr[i])
}
return newArr
}
// 调用函数执行剔除重复数据的操作
var nArr = tc(arr)
console.log(arr, nArr)
方法二:拿当前项 和 后面所有项 进行比较,如果相同,就把后面的重复项删除掉
// 原始数组
var arr = [1, 1, 5, 4, 4, 9, 4]
//声明一个数组去重函数
function delRepeat(arr) {
for (var i = 0; i < arr.length - 1; i++) {//外层循环,只需要比较arr.length-1趟
for (var j = i + 1; j < arr.length; j++) {
//判断第i项和滴j项是都相同,相同则删除第j项
if (arr[i] === arr[j]) {
arr.splice(j, 1)
//删除第j项后,后面的数组项会自动往前移,
//此时若有几个类型重复的数组项,就不能去重了
//使用j--进行补位
j--
}
}
}
return arr
}
console.log(delRepeat(arr))