Javascript对象及数组用法笔记
// 数组定义
var arr = []; // 或 var arr = new Array();
// 添加数组元素
arr.push(1); // 添加数字
arr.push('okbase.net'); // 添加字符串
arr.push({name:'user1',value:'wang'}); // 添加对象
arr.push({name:'user2',value:'guo'});
arr[arr.length] = {name:'user3',value:'li'};
// 修改数组内容
arr[0]['old'] = 30;
arr[1].old = 20;
// 遍历方式一
for(i in arr) {
console.log(arr[i]);
}
// 遍历方式二
for(var i=0; i<arr.length; i++){
console.log(arr[i]);
}
// 遍历方式三(不适用IE)
arr.forEach(function(e){
console.log(e);
})
// 数组转换到JSON字符串
var json = JSON.stringify(arr);
// JSON字符串转换到数组
var arrParse = JSON.parse('[{"name":"user1","value":"wang","old":30},{"name":"user2","value":"guo","old":20}]');
var itemarr = JSON.parse('{"name":"user1"}');
// 遍历数组
for(var key in itemarr) {
$scope.formData[key] = itemarr[key];
}
//字符串转化为数组
var str = 'aa,bb,cc';
var obj = str.split(',');
//数组转化为字符串
str = obj.join(',');
删除数组中的指定元素
var array = [2, 5, 9, 7];
var index = array.indexOf(5);
// 注意:Internet Explorer 7 和 8 不支持indexOf。
然后
if (index > -1) {
array.splice(index, 1);
}
你也可以通过循环找到指定值
for(var i = array.length - 1; i >= 0; i--) {
if(array[i] === number) {
array.splice(i, 1);
}
}
如果希望删除该位置的对象,而不移除,可以
delete array[index];
如果希望删除的时候返回该删除的值,可以这样:
var value = array.splice( index, 1 )[0];
对象
var site = {name:"好库编程网", age: 12, province: "浙江"};
对象的两种寻址方式:
name=site.name;
name=site["name"];
添加对象元素:
site.test = 'hello!';
alert(site.test);
遍历对象属性:
for(var p in site){
document.write(p + ':' + site[p]);
}
一维数组
(1)
var cars=new Array("Audi","BMW","Benz");
(2)
var cars=["Audi","BMW","Benz"];
(3)
var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Benz";
二维和多维数组
1、 创建二维数组方法一:先创建一个一维数组,然后该一维数组的所有成员再创建一维数据
var persons = new Array();
persons[0] = new Array();
persons[1] = new Array();
persons[2] = new Array();
persons[0][0] = "zhangsan";
persons[0][1] = 25;
persons[1][0] = "lisi";
persons[1][1] = 22;
persons[2][0] = "wangwu";
persons[2][1] = 32;
persons[0] = ["zhangsan", 25];
persons[1] = ["lisi", 21];
persons[2] = ["wangwu", 32];
相比较上一种方法,这个要简单易读多了。
2、创建二维数组方法二:先创建一个一维数组,然后该一维数组的所有成员直接赋值
var persons = new Array();
3、创建二维数组方法三:直接赋值
var persons = [["zhangsan", 25], ["lisi", 21], ["wangwu", 32]];
对象数组
var departments = [qinghua{xx1, xx2, xx3}, beida{xx4, xx5, xx6, xx7}, zheda{xx8, xx9}];
数组的遍历
var mycars = new Array()
mycars[0] = "Audi"
mycars[1] = "Benz"
mycars[2] = "BMW"
for (x in mycars)
{
document.write(mycars[x] + "<br />")
}
数组合并
var arr1 = [4,5,6];
var arr2 = [7,8,9];
// 将arr2合并到arr1
arr1 = arr1.concat(arr2);
来源:http://blog.okbase.net/JO2000/archive/55890.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2018-10-16 微软宣布下一代集成开发环境 — Visual Studio 2019
2018-10-16 微软宣布下一代集成开发环境 — Visual Studio 2019
2018-10-16 微软宣布下一代集成开发环境 — Visual Studio 2019