JS基础回顾,小练习(克隆对象,数组)
对象的克隆:
var srcObj = {
a: 1,
b: {
b1: ["hello", "hi"],
b2: "JavaScript"
}
};
function cloneObject(src) {
var target = {};
for(var k in src){
target[k] = src[k];
}
return target;
}
var o = cloneObject(srcObj);
console.log(o===srcObj); //false
数组的克隆:
方法1:
var srcArr = ['html','css','javascript','Jquery','ajax','less'];
function cloneArr(src) {
var target = [];
for(var i=0;i<src.length;i++){
target[i] = src[i];
}
return target;
}
var arr = cloneArr(srcArr);
console.log(arr);
console.log(arr===srcArr); //false
方法2:
var srcArr = ['html','css','javascript','Jquery','ajax','less'];
function cloneArr(src) {
return srcArr.join().split(",");
}
var arr = cloneArr(srcArr);
console.log(arr);
console.log(arr===srcArr); //false
方法3:
var srcArr = ['html','css','javascript','Jquery','ajax','less'];
function cloneArr(src) {
var arr = [];
for(var k in src){
arr[k] = src[k];
}
return arr;
}
var arr = cloneArr(srcArr);
console.log(arr);
console.log(arr===srcArr); //false
方法4:
var srcArr = ['html','css','javascript','Jquery','ajax','less'];
function cloneArr(src) {
var len = src.length,arr=[];
var str = src.toString();
var reg = /([\d\w]+),/g;
var i = 0,m;
while(m = reg.exec(str)){
arr[i] = m[1];
i++;
}
return arr;
}
var arr = cloneArr(srcArr);
console.log(arr);
console.log(arr===srcArr); //false
JS基础回顾,小练习(克隆对象,数组)的更多相关文章
- javascript 克隆对象/数组的方法 clone()
1 11 javascript 克隆对象/数组的方法 clone() 1 demo: code: 1 var Obj; 2 let clone = (Obj) => { 3 var buf; ...
- 【C++基础学习】成员对象与对象数组
第一部分 对象成员与对象数组 从一个简单的例子开始说起,首先定义一个Coordinate的类,里面有两个公有的成员变量m_iX和m_iY,分别代表横坐标和纵坐标. 接下来,定义一个对象数组cood和一 ...
- JS基础回顾,小练习(判断数组,以及函数)
追梦子博客版权所有. // 判断arr是否为一个数组,返回一个bool值 方法1: function isArray(arr) { var str = arr.__proto__.constructo ...
- JS基础回顾,小练习(实现each方法)
function each(arr, fn) { for(var i=0;i<arr.length;i++){ fn(arr[i],i); } } var arr = ['java', 'c', ...
- JS基础回顾,小练习(去除字符串空格)
方法1: var str = ' h t m l 5 '; function trim(str) { var reg = /(\s+)/g; var m,s = str; while(m = reg. ...
- Js基础知识2-对象、对象属性全解
Object对象 Object对象包含如下属性和方法,也就意味着一切对象(函数也是对象)都包含如下方法. 每种方法和属性在不同的对象中有不同的作用,并不是每种对象都有使用每个方法的必要. 下面是Obj ...
- 二、JavaScript语言--JS基础--JavaScript进阶篇--DOM对象 控制HTML元素
1.认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面 ...
- C++基础回顾1(数据类型, 控制语句, 数组)
最近两天打开本科学校的C++教材,快速回顾了一下C++方面的内容.虽然书本内容比较基础,但是还是有些知识点值得自己强化记忆.分几篇文章,加上自己的理解记录如下. 先回顾面向过程的部分. C++数据类型 ...
- JS基础:基于原型的对象系统
简介: 仅从设计模式的角度讲,如果我们想要创建一个对象,一种方法是先指定它的类型,然后通过这个类来创建对象,例如传统的面向对象编程语言 "C++"."Java" ...
随机推荐
- Java集合——题目
第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队.如果该 年没有举办世界杯,则输出:没有举办世界杯. 附:世界杯冠军以及对应的夺冠年 ...
- JQ例子:旋转木马
使用JQ现实旋转木马超级简单,它看起来很复杂,动画好像很难实现,但其实不然. 效果图: <!DOCTYPE html> <html lang="en"> & ...
- android: 多线程编程基础
9.1 服务是什么 服务(Service)是 Android 中实现程序后台运行的解决方案,它非常适合用于去执行那 些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖于任何用户界面,即使 ...
- django 注册、登录及第三方接口程序(4):扩展邮箱注册,登录,微博登录
1.邮箱注册 这里需要扩展User,两种解决办法,1,注册时将email字段内容赋给username,这种瞒天过海型的,另一种就是扩展user,这里介绍django1.5的扩展方法. 1.settin ...
- 只写104行代码!在nopCommerce中如何实现自动生成网站地图
表告诉我说你不知道nopCommerce是什么.它是目前.NET中最流行的完全开源网上商城,由俄罗斯的团队在2008年开始立项一直开发到现在已经是3.3版本了.代码目前托管在codeplex上,有兴趣 ...
- 解决ASP.NET在IE10中Session丢失问题【转】
今天发现在IE10中登录我公司的一个网站时,点击其它菜单,页面总会自动重新退出到登录页,后检查发现,IE10送出的HTTP头,和.AUTH Cookie都没问题,但使用表单验证机制(FormsAuth ...
- 结合Domino打造全功能的Grid
1. 需求说明: 在domino开发中我们经常会遇到表单上需要一个类似table的组件,你可以增删改等.比如我有一个张报核单据,上面需要详细列出每项金额的明细,我们先看完成后的效果: 上面 ...
- Codeforces Round #379 (Div. 2) A. Anton and Danik 水题
A. Anton and Danik 题目连接: http://codeforces.com/contest/734/problem/A Description Anton likes to play ...
- 博为iHospital-HIS医院信息系统产品系列
博为软件iHospital-HIS产品系列式面向大中型医院应用的完整医院流程信息化产品,覆盖了医院主要的业务流程,管理职能,和病人在医院诊疗的各个环节.将医院流程的优化与软件系统完美结合,为建立数字化 ...
- Tomcat8配置数据库连接池
1.所有的tomcat项目共用一个连接池配置 1.1 修改conf->context.xml文件,在Context节点下配置 <Resource name="jdbc/myDat ...