js面向物件開發 (三)利用js的object物件給js陣列去重
阿新 • • 發佈:2019-01-27
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>123</title>
</style>
</head>
<body>
</body>
<script type="text/javascript" charset='utf-8'>
//js物件陣列特徵 : js中的物件的key是不會重複的
var obj = new Object();
obj.name='zhnagsan';
alert(obj.name);//輸出zhangsan
obj.name='lisi';
alert(obj.name);//輸出list
//基於此特徵,可以完成陣列中的重複資料
//1.先把陣列轉化為js物件 2.把陣列中的值作為物件中的key 3.把此物件,還原為陣列
// js 定義一個數組
var newArr = [1,2,3,4,5,6,7,8,4,3,2,4,5,6,4,2];
//將js中的陣列arr轉換為物件
var arrsToObject = function(arr){
var obj = {};//建立私有物件
//遍歷arr
for(var i = 0 , j = arr.length ; i < j ; i++ ){
obj[arr[i]] = true;
}
return obj;
}
//將js中的物件轉換為陣列
var objectToArr = function(obj){
var arr= [];
for( var attr in obj){
if(obj.hasOwnProperty(attr)){
arr.push(attr);
}
}
return arr;
}
var unique = function(newArr){
return objectToArr(arrsToObject(newArr));
}
alert(unique(newArr));//輸出1,2,3,4,5,6,7,8
</script>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>123</title>
</style>
</head>
<body>
</body>
<script type="text/javascript" charset='utf-8'>
//js物件陣列特徵 : js中的物件的key是不會重複的
var obj = new Object();
obj.name='zhnagsan';
alert(obj.name);//輸出zhangsan
obj.name='lisi';
alert(obj.name);//輸出list
//基於此特徵,可以完成陣列中的重複資料
//1.先把陣列轉化為js物件 2.把陣列中的值作為物件中的key 3.把此物件,還原為陣列
// js 定義一個數組
var newArr = [1,2,3,4,5,6,7,8,4,3,2,4,5,6,4,2];
//將js中的陣列arr轉換為物件
var arrsToObject = function(arr){
var obj = {};//建立私有物件
//遍歷arr
for(var i = 0 , j = arr.length ; i < j ; i++ ){
obj[arr[i]] = true;
}
return obj;
}
//將js中的物件轉換為陣列
var objectToArr = function(obj){
var arr= [];
for( var attr in obj){
if(obj.hasOwnProperty(attr)){
arr.push(attr);
}
}
return arr;
}
var unique = function(newArr){
return objectToArr(arrsToObject(newArr));
}
alert(unique(newArr));//輸出1,2,3,4,5,6,7,8
</script>
</html>