var arr = new Array('seoul', 'new york', 'ladarkh', 'pusan', 'Tsukuba');
function getRandomValueFromArray(arr){
var index = Math.floor(arr.length*Math.random());
return arr[index];
}
console.log(getRandomValueFromArray(arr));
Array.prototype.random = function(){
//Array 사용하므로써 random이 array에 속해있다는 것을 알기쉬움(가독성)
var index = Math.floor(this.length*Math.random()); //this는 배열 객체 자체를 가리킴
return this[index];
}
var arr = new Array('seoul', 'new york', 'Lanark', 'pusan', 'Tsukuba');
console.log(arr.random());
var arr2 = new ArrayBuffer(1);
console.log(arr2);
Object.prototype.contain = function(needle){
for(var name in this){
if(this[name] === needle){
return true;
}
}
return false;
}
var o = {'name':'keynene', 'city':'changwon'};
console.log(o.contain('keynene'));
var a = ['keynene','noi','nonung'];
console.log(a.contain('noi'));
Object.prototype.contain = function(needle){
for(var name in this){
if(this[name] === needle){
return true;
}
}
return false;
}
var o = {'name':'keynene', 'city':'changwon'};
var a = ['keynene','noi','nonung'];
for(var name in a){
console.log(name); // 0,1,2,contain
}
※ 이런 경우 a에 contain이 추가되어 출력됨 (Object가 전체 객체에 관여하기 때문!)
Object.prototype.contain = function(needle){
for(var name in this){
if(this[name] === needle){
return true;
}
}
return false;
}
var o = {'name':'keynene', 'city':'changwon'};
var a = ['keynene','noi','nonung'];
for(var name in a){
// 해결방법 : 어떠한 객체가 자신의 고유한 프로퍼티를 가지고 있는지 확인(hasOwnProperty)
if(a.hasOwnProperty(name)){; // 자신의 고유한 프로퍼티 일경우 (true일경우) 출력
console.log(name);
}
}