怎么将数组数据批量的提取出来。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么将数组数据批量的提取出来。相关的知识,希望对你有一定的参考价值。

参考技术A 首先假设你是要在表1里引索入表2的内容
step 1. 在你想要得到引用结果的表格列第一行输入=VLOOKUP,会自动跳出用逗号隔开的4串字符,每个字符串代表一个步骤,显示加黑的是当前步骤
step 2. 在表1里选择你要引索列的列名称,然后输入逗号,切记是英文半角的逗号,然后会自动进入下一步骤
step 3. 在表2里选择你要引索的区域,记住你想要返回到表1里的数据在索引区域的第几列,假设是2,然后输入英文逗号,自动进入下一步骤
step 4. 输入step3中2,再输入英文逗号,自动进入下一步骤
step 5. 输入true 或者false (前者是模糊匹配,后者是精确匹配)然后回车
OK 表1里应该就出来你想要的表2里的数据了。

注意,1.成功引用的前提是你的整个EXCELL表中没有空格,若有的话请替换掉。
2.此法使用于在相同或不同的工作簿。在不同工作簿时请确保两个工作簿都是打开的。

将数组里相同元素提取出来

将数组Arr里相同的元素提取出来放在一个小数组里,再将小数组放在一个大数组dataArry里

NSMutableArray *Arr =[NSMutableArray arrayWithObjects:@"1",@"2",@"1",@"3",@"2",@"2",@"4",@"1",@"2",@"2",@"2",@"2", nil];

1、创建一个数组dataArry

NSMutableArray *dataArr = [NSMutableArray array];

2、用两个for循环对Arr进行遍历

方法一、

for (NSInteger i = 0; i<Arr.count; i++) {

        NSMutableArray *tempArr = [NSMutableArray array];

        NSString *str = Arr[i];

        [tempArr addObject:str];

        for (NSInteger j = i+1; j<Arr.count; j++) {

            NSString *tempStr = Arr[j];

            if ([str isEqual:tempStr]) {

                [tempArr addObject:tempStr];

                [Arr removeObjectAtIndex:j]; //判断如果两个值一样则添加到tempArr里,再把此元素删除

            }

         }

        [dataArr addObject:tempArr];

     }

输出结果:dataArry:[[1,1,1],[2,2,2,2],[3],[2,2],[4],[2]]

 结果并不是我们想要的,问题出在Arr里的元素个数是会变的,而J的值是依次增加的,那么我们根据元素下标判断时就会出现错误

解决方法:1、把J的循环该成倒序

               for (NSInteger j = Arr.count-1; j>i; j--)

     {     

         }

     2、不要在for循环里删除元素,在for循环外面把Arr里整个tempArr数组里的元素全部删除,然后让i-1,始终保持从头开始遍历

     

     for (NSInteger i = 0; i<Arr.count; i++) {

            NSMutableArray *tempArr = [NSMutableArray array];

            NSString *str = Arr[i];

            [tempArr addObject:str];

            for (NSInteger j = Arr.count-1; j>i; j--) {

                  NSString *tempStr = Arr[j];

                  if ([str isEqual:tempStr]) {

                      [tempArr addObject:tempStr];

                  }

             }

            [dataArr addObject:tempArr];

            if (tempArr.count>1) {

               [Arr removeObjectsInArray:tempArr];

               i-=1;  

         }

         NSLog(@"dataArry:%@",dataArr);

 

以上是关于怎么将数组数据批量的提取出来。的主要内容,如果未能解决你的问题,请参考以下文章

如何使用MATLAB进行元胞数组批量提取数据?

将数组里相同元素提取出来

c语言中,如何将字符串数组中的52提取出来,并转换为int类型

c++提取2维数组

把数组中的数据提取出来,包括数组中的数组

MATLAB中,我要把元胞数组中的字符串提取出来,应该用啥函数?