var student = new Object();
student.name = "Lanny";
student.age = "25";
student.location = "China";
可以定义一个student,如果多个student呢?成员不变,如何定义和引用?
js Object 数组?
答案:2 悬赏:0 手机版
解决时间 2021-03-19 12:20
- 提问者网友:欺烟
- 2021-03-19 00:55
最佳答案
- 五星知识达人网友:思契十里
- 2021-03-19 01:04
function Student(name,age,location){
this.name = name;
this.age = age;
this.location = location;
}
var s1 = new Student('Lanny','25','China');
this.name = name;
this.age = age;
this.location = location;
}
var s1 = new Student('Lanny','25','China');
全部回答
- 1楼网友:不想翻身的咸鱼
- 2021-03-19 02:15
js 数组去重<br>注:应该也可以适用于 object数组,但是本人没有进行验证,贴出来仅供你参考第一种是比较常规的方法<br><br>思路:<br><br>1.构建一个新的数组存放结果<br><br>2.for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比<br><br>3.若结果数组中没有该元素,则存到结果数组中<br>代码如下:<br><br>array.prototype.unique1 = function(){<br> var res = [this[0]];<br> for(var i = 1; i < this.length; i++){<br> var repeat = false;<br> for(var j = 0; j < res.length; j++){<br> if(this[i] == res[j]){<br> repeat = true;<br> break;<br> }<br> }<br> if(!repeat){<br> res.push(this[i]);<br> }<br> }<br> return res;<br>}<br>var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]<br>alert(arr.unique1());第二种方法比上面的方法效率要高<br><br>思路:<br><br>1.先将原数组进行排序<br><br>2.检查原数组中的第i个元素 与 结果数组中的最后一个元素是否相同,因为已经排序,所以重复元素会在相邻位置<br><br>3.如果不相同,则将该元素存入结果数组中<br>代码如下:<br><br>array.prototype.unique2 = function(){<br> this.sort(); //先排序<br> var res = [this[0]];<br> for(var i = 1; i < this.length; i++){<br> if(this[i] !== res[res.length - 1]){<br> res.push(this[i]);<br> }<br> }<br> return res;<br>}<br>var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]<br>alert(arr.unique2());<br><br>二种方法也会有一定的局限性,因为在去重前进行了排序,所以最后返回的去重结果也是排序后的。如果要求不改变数组的顺序去重,那这种方法便不可取了。<br><br>第三种方法(推荐使用)<br><br>思路:<br><br>1.创建一个新的数组存放结果<br><br>2.创建一个空对象<br><br>3.for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1,存入到第2步建立的对象中。<br><br>说明:至于如何对比,就是每次从原数组中取出一个元素,然后到对象中去访问这个属性,如果能访问到值,则说明重复。<br>代码如下:<br><br>array.prototype.unique3 = function(){<br> var res = [];<br> var json = {};<br> for(var i = 0; i < this.length; i++){<br> if(!json[this[i]]){<br> res.push(this[i]);<br> json[this[i]] = 1;<br> }<br> }<br> return res;<br>}<br>var arr = [112,112,34,'你好',112,112,34,'你好','str','str1'];<br>alert(arr.unique3());
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯