var

数组深拷贝的方法

最后都变了- 提交于 2020-03-28 05:46:07
方法一:for循环实现 var arr = [1,2,3,4,5] var arr2 = copyArr(arr) function copyArr(arr) { let res = [] for (let i = 0; i < arr.length; i++) { res.push(arr[i]) } return res }方法二:slice方法原理也比较好理解,他是将原数组中抽离部分出来形成一个新数组。我们只要设置为抽离全部,即可完成数组的深拷贝,如下 var arr = [1,2,3,4,5] var arr2 = arr.slice(0) arr[2] = 5 console.log(arr) console.log(arr2)方法三:concat方法原理更加粗暴。它是用于连接多个数组组成一个新的数组的方法。那么,我们只要连接它自己,即可完成数组的深拷贝。代码如下 var arr = [1,2,3,4,5] var arr2 = arr.concat() arr[2] = 5 console.log(arr) console.log(arr2) 方法四:ES6扩展运算符实现用下面的方法实现数组的深拷贝是最简单的 var arr = [1,2,3,4,5] var [ ...arr2 ] = arr arr[2] = 5 console.log(arr) console

js排序方法总结

余生长醉 提交于 2020-03-28 05:45:03
一、冒泡排序   1.1 普通冒泡排序   function maopaoSort(arr){     for(var i=0,len=arr.length; i<len; i++){       for(var j=0; j<len-1-i; j++){ // 每一次循环结束都会找到最大的数放到数组最后,第一次是把整个数组最大的数放到最后         if(arr[j] > arr[j+1]){           var temp = arr[j+1];           arr[j+1]=arr[j];           arr[j]=temp;         }       }     }     return arr;   }   var arr=[9,23,0,1,345,-3,2,56,79,34,11];   console.log(maopaoSort(arr));   1.2 改进普通版,减少不必要步骤   function maopaoSort2(arr){     var i= arr.length-1;        while(i>0){       var pos = 0; // 每次循环记录最大数交换的位置       for(var j=0;j<i;j++){         if(arr[j] > arr[j+1]){         

JavaScript 数组(二)数组练习

大城市里の小女人 提交于 2020-03-28 05:38:56
1、求一组数中的最大值和最小值,以及所在位置(最大值和最小值在这组数中的位置) 1 var numbers = [120, 13, 101, 88, 10, 25]; 2 var max = numbers[0]; 3 var min = numbers[0]; 4 // 最大值的索引 5 var maxIndex = 0; 6 // 最小值的索引 7 var minIndex = 0; 8 9 for (var i = 1; i < numbers.length; i++) { 10 // 找大的数 11 if (max < numbers[i]) { 12 max = numbers[i]; 13 maxIndex = i; 14 } 15 // 找小的数 16 if (min > numbers[i]) { 17 min = numbers[i]; 18 minIndex = i; 19 } 20 } 21 console.log(max, min); 22 console.log(maxIndex, minIndex); 2、将字符串数组用 | 或其他符号分割 1 var names = ['西伯利亚狼', '灰狼', '土狼', '大尾巴狼', '狗头老高']; 2 // 往第二个元素之前加分隔符 3 var seperator = '|'; // 分隔符 4 var

经纬度转换度分秒

我的梦境 提交于 2020-03-28 02:38:57
  在开发过程中从地图取点的经纬度通常在展示的时候需要转换为度分秒展示, 如 119.299307 展示为 119°17'58''。 只需简单利用Math函数即可。同样的代码也可应用于JavaScript代码,只需将Abs、Floor等首字母改为小写即可。 代码如下: double tempValue = Convert.ToDouble(value); tempValue = Math.Abs(tempValue); var v1 = Math.Floor(tempValue);//度 var v2 = Math.Floor((tempValue - v1) * 60);//分 var v3 = Math.Round((tempValue - v1) * 3600 % 60);//秒 value= v1+"°"+v2+"'"+v3+"''"; 来源: https://www.cnblogs.com/KnifezZZ/p/8251726.html

带密钥的加解密

主宰稳场 提交于 2020-03-28 00:41:45
代码如下: <SCRIPT LANGUAGE="JavaScript"> <!-- Begin function encrypt(str, pwd) { if(pwd == null || pwd.length <= 0) { alert("Please enter a password with which to encrypt the message."); return null; } var prand = ""; for(var i=0; i<pwd.length; i++) { prand += pwd.charCodeAt(i).toString(); } var sPos = Math.floor(prand.length / 5); var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos*2) + prand.charAt(sPos*3) + prand.charAt(sPos*4) + prand.charAt(sPos*5)); var incr = Math.ceil(pwd.length / 2); var modu = Math.pow(2, 31) - 1; if(mult < 2) { alert("Algorithm cannot find a suitable hash. Please

年月日三联动下拉框

喜你入骨 提交于 2020-03-27 22:29:39
< HTML > < HEAD > < title > 年月日三联动下拉框 </ title > < meta http-equiv ='Content-Type' content ='text/html; charset =gb2312' > < meta name ='author' content ='http://singlepine.cnblogs.com/' > </ HEAD > < body > < form name ="form1" > < select name ="YYYY" onchange ="YYYYDD(this.value)" > < option value ="" selected > 请选择 年 </ option > </ select > < select name ="MM" onchange ="MMDD(this.value)" > < option value ="" selected > 选择 月 </ option > </ select > < select name ="DD" > < option value ="" selected > 选择 日 </ option > </ select > </ form > < script language ="JavaScript" > <!-- function

JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别

前提是你 提交于 2020-03-27 22:18:53
JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别   ES2015(ES6)带来了许多闪亮的新功能,自2017年以来,许多JavaScript开发人员已经熟悉并开始使用这些功能。虽然这种假设可能是正确的,但仍有可能其中一些功能对某些人来说仍然是一个谜。   ES6带来的一个新特性是 新增了通过使用let、const来声明变量 。在本文中,我们将讨论var,let和const的范围,使用和提升。在您阅读时,请注意它们之间的差异,我会指出。 VAR VAR的范围   范围本质是意味着这些变量可供使用的位置。 var声明的范围是全局作用于或者本地函数作用域 。当一个var变量声明在函数外面时它的作用域是全局的,这意味着在整个窗口中可以使用在函数块外部使用var声明的任何变量。 var变量在函数内声明时是函数作用域 。这意味着它可用,只能在该函数中访问。   我们举一个例子: <script> var greeter = "Hello"; function hello() { var hi = "Hi"; } </script>   在这里,greeter是全局范围的,因为它存在于函数外部,而hello是函数作用域。所以我们不能在函数外部访问变量hi。所以,如果我们这样做:    var变量可以重新声明和更新   这个是比较好理解的    var变量提升

LocalStorage存储和cookie存储

我们两清 提交于 2020-03-27 22:10:30
localStorage是H5的新特性,主要用来本地存储,一般浏览器支持的大小是5M,不同浏览器会有所不同,解决了cookie存储空间不足的问题。 2、使用: ⑴、存 if(!window.localStorage){ alert("浏览器不支持localstorage"); return false; }else{ var storage = window.localStorage; // 方法1 storage["a"] = 1; // 方法2 storage.b = 1; // 方法3 推荐 storage.setItem("c", 3); console.log(typeof storage["c"]); // string int类型打印出来是string,localstorage只支持string类型的存储 } ⑵、取 if(!window.localStorage){ alert("浏览器不支持localstorage") }else{ var storage=window.localStorage; // 方法1 var a=storage.a; // 方法2 var b=storage["b"] // 方法3 推荐 var c = storage.getItem("c"); } ⑶、修改 if(!window.localStorage){ alert(

js获取当前日期时间“yyyy-MM-dd HH:MM:SS”

守給你的承諾、 提交于 2020-03-27 18:44:33
获取当前的日期时间 格式“yyyy-MM-dd HH:MM:SS” 1 function getNowFormatDate() { 2 var date = new Date(); 3 var seperator1 = "-"; 4 var seperator2 = ":"; 5 var month = date.getMonth() + 1; 6 var strDate = date.getDate(); 7 if (month >= 1 && month <= 9) { 8 month = "0" + month; 9 } 10 if (strDate >= 0 && strDate <= 9) { 11 strDate = "0" + strDate; 12 } 13 var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate 14 + " " + date.getHours() + seperator2 + date.getMinutes() 15 + seperator2 + date.getSeconds(); 16 return currentdate; 17 } 来源: https://www.cnblogs.com/hyywaq/p/6378223.html

年月日三联动下拉框

孤者浪人 提交于 2020-03-27 18:27:05
<HTML> <HEAD> <title>年月日三联动下拉框</title> <meta http-equiv='Content-Type' content='text/html; charset=gb2312'> <meta name='author' content='http://singlepine.cnblogs.com/'> </HEAD> <body> <form name="form1"> <select name="YYYY" onchange="YYYYDD(this.value)"> <option value="" selected>请选择 年</option> </select> <select name="MM" onchange="MMDD(this.value)"> <option value="" selected>选择 月</option> </select> <select name="DD"> <option value="" selected>选择 日</option> </select> </form> <script language="JavaScript"><!-- function YYYYMMDDstart() { MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31