【发布时间】:2017-06-02 15:21:05
【问题描述】:
我正在制作一个功能,其中随机索引被添加到带有 for 循环的数组中,值必须始终不同,但有时(大约每 10 个函数调用)有时(大约每 10 个函数调用)相同的值,即使我试图过滤相同的值来自answerId-array 并将其余值 unique-array 和检查过滤unique-array 和原始answerId-array 具有相同的长度,如果unique-arrays 长度低于unique -arrays 长度,answerIds 值将被更改。但是即使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是一个字符串,代表序列化的数据。 -
如果 Json-mentioning 让某人感到困惑,我从问题中删除了它。
-
您也可以添加数据。
标签: javascript arrays react-native