我正在製作一個功能,其中隨機索引被添加到使用for-loop的數組中,值必須始終不同,但不知何故有時(大約每調用10次函數)相同的值即使我試圖從answerId
陣列中過濾相同的值,並將其餘值unique
- 陣列和檢查過濾unique
- 陣列和原始answerId
- 陣列具有相同的長度,如果unique
- 陣列長度低於unique
- 陣列長度, answerId
的值將被改變。但是即使在answerId
-array中有相同的值,並且運行無法傳遞給for循環的其餘部分(這些for循環相當於一些hack代碼),但這些數組的長度始終相同。我做錯了什麼?對不起,如果我的英語技能不好。防止在數組中添加相同的隨機值
getJSONData(){
var answerId = [null, null, null, null];
var length = Object.keys(Company.person).length;
for(var i = 0; i <= answerId.length - 1; i++){
answerId[i] = [Math.floor(Math.random() * length)]
}
let unique = Array.from(new Set(answerId))
console.log(unique.length)
if (unique.length < answerId.length){
for(var i = 0; i <= answerId.length - 1; i++){
answerId[i] = [Math.floor(Math.random() * length)]
}
console.log("new values 1")
unique = Array.from(new Set(answerId))
if (unique.length < answerId.length){
for(var i = 0; i <= answerId.length - 1; i++){
answerId[i] = [Math.floor(Math.random() * length)]
}
console.log("new values 2")
unique = Array.from(new Set(answerId))
if (unique.length < answerId.length){
for(var i = 0; i <= answerId.length - 1; i++){
answerId[i] = [Math.floor(Math.random() * length)]
}
console.log("new values 3")
unique = Array.from(new Set(answerId))
if (unique.length < answerId.length){
for(var i = 0; i <= answerId.length - 1; i++){
answerId[i] = [Math.floor(Math.random() * length)]
}
console.log("new values 4")
}
}
}
}
var personArray = [Company.person[answerId[0]].firstName + ' ' + Company.person[answerId[0]].lastName, Company.person[answerId[1]].firstName + ' ' + Company.person[answerId[1]].lastName, Company.person[answerId[2]].firstName + ' ' + Company.person[answerId[2]].lastName, Company.person[answerId[3]].firstName + ' ' + Company.person[answerId[3]].lastName];
return personArray;
}
什麼'JSON-indexes'? [JSON](http://json.org/)是一個字符串,代表序列化數據。 –
我刪除了Json提到的問題是否令人困惑。 –
您也可以添加數據。 –