<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JS 逻辑题</title>
</head>
<body>
<script>
// 1.选择排序
function xzpx(arr,type) {
for(let i=0;i<arr.length;i++){
for(let j=i+1;j<arr.length;j++){
if(type=='asc'){
if(arr[i]<arr[j]){
let temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
if(type=='desc'){
if(arr[i]>arr[j]){
let temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}
console.log(arr);
}
xzpx([1,2,-3,5,7,9,23,45,68,22,1,3,9],'desc');
// 2.封装冒泡排序
function fun(arr,type){
for(let i=0;i<arr.length;i++){
for(let j=0;j<arr.length-i-1;j++){
if(type=='asc'){
if(arr[j]>arr[j+1]){
let temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
if(type=='desc'){
if(arr[j]<arr[j+1]){
let temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
console.log(arr);
}
fun([1,2,-3,5,7,9,23,45,68,22,1,3,9],'asc');
// 3.求一个二维数组中长度最长的数组
function ezc(arr) {
let max=arr[0];
for(let i=0;i<arr.length;i++){
if(arr[i].length>max.length){
max=arr[i];
}
}
console.log(max);
}
ezc([[1,2,3],[2,8,90,88,87]]);
// 4.求二维数组数字内容的和
function ewszh(arr) {
let sum=0;
for(let i=0;i<arr.length;i++){
for(let j=0;j<arr[i].length;j++){
if(typeof arr[i][j]==='number'){
sum=sum+arr[i][j];
}
}
}
console.log(sum);
}
ewszh([[1,2,3],[2,8,90,88,87,undefined]]);
// 5.求一个二维数组的最大值和最小值
let arr=[[1,2,3],[2,8,90,88,87]];
function ewszzd(arr,type) {
if(type=='最大值'){
let max=arr[0][0];
for(let i=0;i<arr.length;i++){
for(let j=0;j<arr[i].length;j++){
if(arr[i][j]>max){
max=arr[i][j];
}
}
}
console.log(max);
}
if(type=='最小值'){
let min=arr[0][0];
for(let i=0;i<arr.length;i++){
for(let j=0;j<arr[i].length;j++){
if(arr[i][j]<min){
min=arr[i][j];
}
}
}
console.log(min);
}
}
ewszzd([[1,2,3],[2,8,90,88,87]],'最小值');
// 6.复制一个二维数组
function fzewsz(arr) {
let brr=[];
for(let i=0;i<arr.length;i++){
brr[i]=[];
for(let j=0;j<arr[i].length;j++){
brr[i][j]=arr[i][j];
}
}
console.log(brr);
}
fzewsz([[1,2,3],[3,4,2,4],[4,5,6,77]]);
// 7.找出数组中大于5的数,组成新的数组
function szzd5(arr) {
let brr=[];
for(let i=0;i<arr.length;i++){
for(let j=0;j<arr[i].length;j++){
if(arr[i][j]>=5){
brr[brr.length]=arr[i][j];
}
}
}
console.log(brr);
}
szzd5([[1,4,6,899],[9,7,9,18]]);
// 8.数字数组中大于5的个数
function dy5gs(arr) {
let count=0;
for(let i=0;i<arr.length;i++){
if(arr[i]>5){
count++;
}
}
console.log(count);
}
dy5gs([1,55,3,6,8,2,3]);
// 9.输入一个数字或字符,添加在数组最后
function tjszzf(arr,b) {
let brr=[];
for(let i=0;i<arr.length;i++){
brr[brr.length]=arr[i];
}
brr[brr.length]=b;
console.log(brr);
}
tjszzf([1,55,3,6,8,2,3],'hu');
// 10.将一数组中数字内容求和
function qh(arr) {
let sum=0;
for(let i=0;i<arr.length;i++){
if(typeof arr[i]==='number'){
sum+=arr[i];
}
}
console.log(sum);
}
qh([1,2,34,56,5,null,undefined]);
// 11.判断数组中是否所有数字都大于0
let dy0=function (arr) {
let flag='全大于0';
for (let i=0;i<arr.length;i++){
if(arr[i]<0){
flag='不全大于0';
break;
}
}
console.log(flag);
}
dy0([1,2,34,56,5,-9]);
// 12.合并两个数组问题
function hbsz(arr,brr) {
for(let i=0;i<arr.length;i++){
brr[brr.length]=arr[i];
}
console.log(brr);
}
hbsz([1,2,3,5,7,8,9,7,99],[1,2,3,5,7,8,9,7,99]);
// 13.1 找到数组中某一个下标
function zxb(arr,a) {
if(a<0||a>arr.length){
console.log('输入错误,请从新输入');
}
for(let i=0;i<arr.length;i++){
if(arr[i]===a){
console.log(i);
}
}
}
zxb([1,2,3,5,7,8,9,7,99],7);
// 13.2截取一个数组,截取下标位a到b的范围
function slice(arr,a,b){
if(a<0){
a=0;
}
if(b>arr.length-1){
b=arr.length-1;
}
let brr=[];
for(let i=0;i<arr.length;i++){
if(i>=a&&i<b){
brr[brr.length]=arr[i];
}
}
console.log(brr);
}
slice([1,2,3,5,7,8,9,7,99],3,7);
// 14.反转一个数组
function fzsz(arr) {
let brr=[];
for(let i=arr.length-1;i>0;i--){
brr[brr.length]=arr[i];
}
console.log(brr);
}
fzsz([1,2,3,5,7,8,9,7,99]);
// 15.移除数组中等于3的元素
function xc3(arr) {
let brr=[];
for(let i=0;i<arr.length;i++){
if(arr[i]!==3){
brr[brr.length]=arr[i];
}
}
console.log(brr);
}
xc3([1,4,3,33,99,88,77]);
// 16.删除数组中第一个值
function scd1z(arr) {
for(let i=1;i<arr.length;i++){
arr[i-1]=arr[i];
}
arr.length=arr.length-1;
console.log(arr);
}
scd1z([1,4,3,33,99,88,77]);
// 17.在数组前添加一个值
function tjygz(arr,b) {
for(let i=arr.length-1;i>=0;i--){
arr[i+1]=arr[i];
}
arr[0]=b;
console.log(arr);
}
tjygz([1,4,3,33,99,88,77],9999);
// 18.封装一个n行n列的乘法表
let nncfb=function (n) {
for(let x=1;x<=n;x++){
for(let y=1;y<=x;y++ ){
document.write(x+"*"+y+"="+x*y+' ');
}
document.write(' </br>');
}
}
nncfb(19);
// 19.封装一个n*m的表格
function nmbg(n,m) {
document.write('<table border="1" cellspacing="0" cellpadding="10" width="50" >');
for(let i=1;i<=n;i++){
document.write('<tr bgcolor="#f5f5dc">');
for(let j=1;j<=m;j++){
document.write('<td bgcolor="#7fff00">');
document.write('</td>');
}
document.write('</tr>');
}
document.write('</table>');
}
nmbg(7,9);
// 20.输入一个数判断是不质数
function pdzs(a) {
let nub=a
let flag="质数";
for(let i=2;i<nub;i++){
if (nub%i==0){
flag="不是质数"
}
}
if(nub==1){
console.log("不是质数也不是合数")
}else {
console.log(flag);
}
}
pdzs(7);
</script>
</body>
</html>
JS 逻辑题
最新推荐文章于 2022-08-12 08:29:25 发布