Javascript

js编程 :输出数组中第一个唯一数的下标

本文主要是介绍js编程 :输出数组中第一个唯一数的下标,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

输出数组中第一个唯一数的下标

题目描述:

  • 输入一个整数数组,数组中有些数只出现过一次,我们称它为“唯一数”,出现过两次或两次以上的数不是唯一数。请编写一段代码寻找出数组中第一个出现的唯一数,输出该唯一数的下标。
  • 如果有多个唯一数的情况,请输出第一个唯一数的下标
  • 如果数组中没有找到唯一数,请输出-1,作为异常下标,表示没有找到唯一数。

输入描述:

  • 输入第一行为数组的长度n;
  • 第二行是数组中n个数,数与数之间用空格隔开

输出描述:
输出数组的第一个唯一数的下标或者-1(如果没有唯一数)

样例输入:

12
1 2 2 1 2 3 1 -123 345 5 4 6

样例输出:

3

详解代码:

function onlynumber(length,str){
    let flag = 0;				
	let result = null;
	var arr = str.split(' ')  //字符穿切割并转为数组
	for(let i=0;i<length;i++){  
		for(let j=0;j<length;j++){
			if(i!=j){
				if(arr[i]==arr[j]){   //有相同值
					flag=1;
					break;
				} 
				if(j==length-1){      //无相同值
					flag=2;
					break;
				}
			}
		}
		if(i==length-1){    //无唯一数
			result=-1;
		}
		if(flag==1){      //有相同值时跳出本次循环
			continue;
		}
		if(flag==2){       //无相同值时将该数赋值给result
			result=arr[i]
			break;
		}
	}
	console.log(result);
	//return result;
}

输入参数1

var str = '1 2 2 1 2 3 1 -123 345 5 4 6'  
var len = 12;
onlynumber(len,str);

输出结果1:
在这里插入图片描述
输入参数2

var str = '1 2 2 1 2 '  
var len = 4;
onlynumber(len,str);

输出结果2:
在这里插入图片描述

这篇关于js编程 :输出数组中第一个唯一数的下标的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!