精华内容
下载资源
问答
  • 数组方法: forEach方法的第一个参数是一个函数,函数的第一个参数是元素,第二个参数才是索引号,与变量名没关系,顺序是固定的 不能写continue、break,return也不能终止循环,想要终止循环,可以用some方法 ...

    数组方法:

    • forEach方法的第一个参数是一个函数,函数的第一个参数是元素,第二个参数才是索引号,与变量名没关系,顺序是固定的
      • 不能写continue、break,return也不能终止循环,想要终止循环,可以用some方法
    • filter方法,是用来过滤数组元素
      • 接收一个函数作为参数,这个函数的第一个形参是元素,第二个形参是索引号
      • 内部会有循环机制,每次循环都会调用函数,如果函数返回true,则保留当前循环元素,如果返回false,则剔除当前循环元素
      • 会返回一个新数组,不会影响原来的数组,我们也称之为非变异方法
    • some方法,是用来看数组中是否存在符合条件的元素(运行机制:内部也有循环机制,每次循环也会调用函数,只要函数返回true,则终止循环,some函数也返回true,若果循环结束,还没有一个返回true,则some函数返回false)
      • 返回值是布尔值,如果有,则返回true,否则返回false
      • 一旦找到符合条件的,则立即终止循环
      • 当循环逻辑比较复杂或耗时时,可以提高一丢丢性能
    • map方法,用来做映射,返回值是数组,内部会有循环机制…,实参函数的返回值会组成一个新的数组返回
    • every方法,和some类似,但必须每一个都符合条件,才返回true,反之,只要有一个不符合条件,就返回false

    非变异方法和变异方法的区别就是看调用完这个方法后,会不会影响原数组,有则是变异方法,无则是非变异方法

    写代码时,要逐步测试,不要写了一百行,再来测试,如果报错了,这个时候你很可能懵逼,不知道到底是哪一行代码引起的

    forEach和some的区别:

    • forEach不可以通过return终止循环,也不可以使用continue、break
    • some可以通过return true(why? 乌龟的尾巴,死龟腚)终止循环,在只需要找到某个元素时,效率更高

    trim方法:

    • .trim()方法就是去除字符串的前后空格,中间的不会去掉
    var str = '   hello   '
    console.log(str.trim()//hello 去除两端空格
    var str1 = '   he l l o   '
    console.log(str.trim()//he l l o  去除两端空格
    

    Object.keys(obj):

    • Object.keys(obj)返回obj对象自身(拿不到原型链上的属性)的所有键名组成的数组
     var obj = {
         id: 1,
         pname: '小米',
         price: 1999,
         num: 2000
    };
    var result = Object.keys(obj)
    console.log(result)//[id,pname,price,num]
    

    1.1数组方法forEach遍历数组

     arr.forEach(function(value, index, array) {
           //参数一是:数组元素
           //参数二是:数组元素的索引
           //参数三是:当前的数组
     })
      //相当于数组遍历的 for循环 没有返回值
    

    1.2数组方法filter过滤数组

      var arr = [12, 66, 4, 88, 3, 7];
      var newArr = arr.filter(function(value, index,array) {
      	 //参数一是:数组元素
         //参数二是:数组元素的索引
         //参数三是:当前的数组
         return value >= 20;
      });
      console.log(newArr);//[66,88] //返回值是一个新数组
    

    1.3数组方法some

    some 查找数组中是否有满足条件的元素 
     var arr = [10, 30, 4];
     var flag = arr.some(function(value,index,array) {
        //参数一是:数组元素
         //参数二是:数组元素的索引
         //参数三是:当前的数组
         return value < 3;
      });
    console.log(flag);//false返回值是布尔值,只要查找到满足条件的一个元素就立马终止循环
    

    1.4筛选商品案例

    1. 定义数组对象数据

       var data = [{
                   id: 1,
                   pname: '小米',
                   price: 3999
               }, {
                   id: 2,
                   pname: 'oppo',
                   price: 999
               }, {
                   id: 3,
                   pname: '荣耀',
                   price: 1299
               }, {
                   id: 4,
                   pname: '华为',
                   price: 1999
               }, ];
    

    2. 使用forEach遍历数据并渲染到页面中

       data.forEach(function(value) {
         var tr = document.createElement('tr');
         tr.innerHTML = '<td>' + value.id + '</td><td>' + value.pname + '</td><td>' + value.price + '</td>';
         tbody.appendChild(tr);
        });
    

    3. 根据价格筛选数据

    1. 获取到搜索按钮并为其绑定点击事件

          search_price.addEventListener('click', function() {
          });
    

    2. 使用filter将用户输入的价格信息筛选出来

          search_price.addEventListener('click', function() {
                var newDate = data.filter(function(value) {
                  //start.value是开始区间
                  //end.value是结束的区间
                	return value.price >= start.value && value.price <= end.value;
                });
                console.log(newDate);
           });
    

    3. 将筛选出来的数据重新渲染到表格中

      1. 将渲染数据的逻辑封装到一个函数中
             function setDate(mydata) {
                   // 先清空原来tbody 里面的数据
               tbody.innerHTML = '';
               mydata.forEach(function(value) {
                 var tr = document.createElement('tr');
                 tr.innerHTML = '<td>' + value.id + '</td><td>' + value.pname + '</td><td>' + value.price + '</td>';
                   tbody.appendChild(tr);
               });
              }
      2. 将筛选之后的数据重新渲染
              search_price.addEventListener('click', function() {
                  var newDate = data.filter(function(value) {
                  return value.price >= start.value && value.price <= end.value;
                  });
                  console.log(newDate);
                  // 把筛选完之后的对象渲染到页面中
                  setDate(newDate);
             });
    

    4. 根据商品名称筛选

      1. 获取用户输入的商品名称
      2. 为查询按钮绑定点击事件,将输入的商品名称与这个数据进行筛选
              search_pro.addEventListener('click', function() {
                  var arr = [];
                  data.some(function(value) {
                    if (value.pname === product.value) {
                      // console.log(value);
                      arr.push(value);
                      return true; // return 后面必须写true  
                    }
                  });
                  // 把拿到的数据渲染到页面中
                  setDate(arr);
             })
    

    1.5some和forEach区别

    • 如果查询数组中唯一的元素, 用some方法更合适,在some 里面 遇到 return true 就是终止遍历 迭代效率更高
    • 在forEach 里面 return 不会终止迭代
    展开全文
  • 数组方法(forEach,filter,some)和字符串trim方法和Object.keys(对象),Object.defineProperty 1.数组方法forEach遍历数组 arr.forEach(function(value,index,array){ //参数1:数组元素; //参数2:数组元素的索引 //...

    数组方法(forEach,filter,some)和字符串trim方法和Object.keys(对象),Object.defineProperty

    1.数组方法forEach遍历数组

    arr.forEach(function(value,index,array){
        //参数1:数组元素;
        //参数2:数组元素的索引
        //参数3:当前数组
    })
    //相当于数组遍历的for循环,没有返回值
    

    2.数组方法filter过滤数组

    var arr = [10,20,30,40,50,60,70,80,90];
    var newArr = arr.filter(function(value,index,array){
        //参数1:数组元素;
        //参数2:数组元素的索引;
        //参数3:当前数组;
        return value >=30;
    });
    console.log(newArr); // 返回值是一个新数组 [30,40,50,60,70,80,90]
    

    3.数组方法some

    查找数组中是否有满足条件的元素

    var arr = [10,20,30];
    var flag = arr.some(function(value,index,array){
        //参数1:数组元素;
        //参数2:数组元素的索引
        //参数3:当前的数组
        return value > 20;
    });
    console.log(flag);//返回值是布尔值,只要查找到满足条件的一个元素就立马终止循环
    
    

    4.some和forEach区别

    1.如果查询数组中唯一的元素,用some方法更合适,在some里面遇到return true 就是终止遍历,迭代效率更高;

    2.在forEach里面return不会终止迭代;

    5.trim方法去除字符串两端空格

    var str = '   oneone   ';
    console.log(str.trim()); //oneone两端空格去除
    

    6.获取对象的属性名

    Object.keys(对象)获取到当前对象中的属性名,返回值是一个数组

    var obj = {
        uname: '小明',
        age:18,
        sex: '男'
    }
    console.log(Object.keys(obj));//[uname,age,sex]
    

    7.Object.defineProperty

    Object.defineProperty设置或修改对象中的属性

    Object.defineProperty(对象,修改或者新增的属性名,{
        value:修改或新增的属性的值,
        writable:true/false,//如果为false不允许修改这个属性值
        enumberable:false,//enumberable如果值为false 则不允许遍历
        configurable:false  //configurable如果为false则不允许删除这个属性,属性是否可以被删除或者可以再次修改特性
    })
    
    展开全文
  • 数组的去重有两种方法可以实现,一个是循环比较,另一个是hashSet的集合方法。下面我们就这两种Java数组去重的方法带来详解。1、循环比较循环对比每个元素的值是否一致,这个就不过多去介绍,主要是第2种方法2、利用...

    3805b644e25bce10f30b8b7dd3221556.png

    我们对于数组元素的使用,有时候在创建数组的初期,并没有考虑过元素的重复问题。当我们想要不重复元素的数组时,就要再进行一步去重的工作。数组的去重有两种方法可以实现,一个是循环比较,另一个是hashSet的集合方法。下面我们就这两种Java数组去重的方法带来详解。

    1、循环比较

    循环对比每个元素的值是否一致,这个就不过多去介绍,主要是第2种方法

    2、利用hashSet去重

    hashSet是一个没有重复元素的集合,由hashMap实现的,无序,并且允许null,但只允许一个null值。 下面贴上代码,亲测可用。public boolean checkIsRepeat(String[] arrs){

    HashSet hashSet = new HashSet<>();

    for(int i = 0 ; i 

    hashSet.add(arrs[i].trim());

    }

    if(hashSet.size() == arrs.length){

    return true;

    }

    return false;

    }

    以上就是java数组去重的两种方法,大家可以就hashSet去重的方法进行重点学习,毕竟在实际的去重中,我们会优先考虑这种方法。更多Java学习指路:

    展开全文
  • JavaScript数组常用方法/字符串常用方法 JavaScript 数组的力量隐藏在数组方法中! JavaScript数组常用方法 ********************************数组索引(下标)以 0 开始。通过使用它们的索引号来访问数组元素,...

    JavaScript数组常用方法/字符串常用方法

    JavaScript 数组的力量隐藏在数组方法中!

    JavaScript数组常用方法

    
    
    ********************************数组索引(下标)以 0 开始。通过使用它们的索引号来访问数组元素,更改元素。********************************
     1. toString() 把数组转换为数组值(逗号分隔)的字符串。如果需要原始值,则 JavaScript 会自动把数组转换为字符串。可以不调用该方法。
     2. join() 方法也可将所有数组元素结合为一个字符串。但是您还可以规定分隔符。
     3. pop() 方法从数组中删除最后一个元素,返回“被弹出”的值。
     4. push() 方法(在数组结尾处)向数组添加一个新的元素,返回新数组的长度。
     5. 位移与弹出等同,但处理首个元素而不是最后一个。
     6. shift() 方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引,返回被“位移出”的数组元素。
     7. unshift() 方法(在开头)向数组添加新元素,并“反向位移”旧元素,返回新数组的长度。
     8. length 属性提供了向数组追加新元素的简易方法。
     9. delete 运算符来删除元素,使用 delete 会在数组留下未定义的空洞。请使用 pop()shift() 取而代之。
     10. splice() 方法可用于向数组添加新项 ,第一个参数定义了应添加新元素/删除旧元素的位置(拼接),第二个参数定义应删除多少元素,其余参数(“”,“”)定义要添加的新元素。其余参数被省略。没有新元素将被添加。
     11. concat() 方法通过合并(连接)现有数组来创建一个新数组,不会更改现有数组。它总是返回一个新数组,可以使用任意数量的数组参数。
     12. slice() 方法用数组的某个片段切出新数组,创建新数组。它不会从源数组中删除任何元素。可接受两个参数,比如 (1, 3)。左闭右开。
     13. ******数组排序******
     14. sort() 方法以字母顺序对数组进行排序。(默认升序,默认地,sort() 函数按照字符串顺序对值进行排序。sort() 方法在对数值排序时会产生不正确的结果。我们通过内部回调一个比值函数(比较器)来修正此问题)
     15. reverse() 方法反转数组中的元素。(可实现降序)
     16. 以随机顺序排序数组:points.sort(function(a, b){return 0.5 - Math.random()}); 
     17. JavaScript 不提供查找数组中最大或最小数组值的内建函数。对数组进行排序之后,您能够使用索引来获得最高或最低值。仅仅需要找到最高或最低值,对整个数组进行排序是效率极低的方法。
     18. Math.max() 或使用 Math.max.apply() 来查找数组中的最高值。Math.max.apply([1, 2, 3]) 等于 Math.max(1, 2, 3)19. Math.min() 或使用 Math.min.apply() 来查找数组中的最低值。
     20. ******数组迭代方法对每个数组项进行操作。******
     21. 无特殊声明,回调函数都是支持三个参数,顺序固定,可以省略不需要的参数。function myFunction(value, index, array)
     22. forEach() 方法为每个数组元素调用一次函数(回调函数)。
     23. map() 方法通过对每个数组元素执行函数来创建新数组。不会对没有值的数组元素执行函数。不会更改原始数组。
     24. filter() 方法创建一个包含通过测试的数组元素的新数组。
     25. reduce() 方法(同reduceRight())在每个数组元素上运行回调函数,以生成(减少它)单个值。不会减少原始数组。在数组中从左到右工作。接收四个参数,第一个参数total:总数,默认为0(初始值/先前返回的值)。可指定初始值,放在reduce(回调函数, 初始值)回调函数后。
     26. every() 方法检查所有数组值是否通过测试。
     27. some() 方法检查某些数组值是否通过了测试。
     28. indexOf() 方法在数组中搜索元素值并返回其位置。array.indexOf(item, start)搜索起始位置可选。未找到项目,.indexOf() 返回 -129. lastIndexOf()indexOf() 类似,但是从数组结尾开始搜索。
     30. find() 方法返回通过测试函数的第一个数组元素的值。
     31. findIndex() 方法返回通过测试函数的第一个数组元素的索引。
     
     
    
    

    JavaScript字符串常用方法

    
    
     1. length 属性返回字符串的长度length 属性返回字符串的长度。
     2. indexOf() 方法返回字符串中指定文本首次出现的索引(位置)。0 是字符串中的第一个位置。
     3. lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引。如果未找到文本, indexOf()lastIndexOf() 均返回 -1。两种方法都接受作为检索起始位置的第二个参数。
     4. search() 方法搜索特定值的字符串,并返回匹配的位置。
     5. search() 方法无法设置第二个开始位置参数。indexOf() 方法无法设置更强大的搜索值(正则表达式)。
     6. slice(start, end)提取字符串的某个部分并在新字符串中返回被提取的部分,左闭右开。如果省略第二个参数,则该三种方法将裁剪字符串的剩余部分。
     7. substring(start, end) 类似于 slice()。不同之处在于 substring() 无法接受负的索引。
     8. substr(start, length) 类似于 slice()。不同之处在于第二个参数规定被提取部分的长度。第二个参数不能为负,因为它定义的是长度。
     9. replace() 方法用另一个值替换在字符串中指定的值,不会改变调用它的字符串。它返回的是新字符串。只替换首个匹配。对大小写敏感。如需执行大小写不敏感的替换,请使用正则表达式 /i(大小写不敏感),正则表达式不带引号。
     10. toLowerCase() 把字符串转换为小写。
     11. toUpperCase() 把字符串转换为大写。
     12. concat() 连接两个或多个字符串,可用于代替加运算符。字符串是不可变的:字符串不能更改,只能替换。
     13. trim() 方法删除字符串两端的空白符。
     14. charAt(position) 返回字符串中指定下标(位置)的字符串。
     15. split() 将字符串转换为数组,可指定分隔符。
     
    
    
    

    函数列表:在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 数组方法 方法名 作用 push() 向数组添加一个新的元素(在数组结尾处) pop() 返回“被弹出”的值 shift() 删除首个数组元素,并把所有其他元素“位移”到更低的索引 unshift() (在开头)向数组...
  • console.log([].slice.call(arguments))// 因为[]是数组的实例,所以[]也有slice方法,call方法必须由函数调用,不能直接对象.call } fn1(123, "abc"); //...
  • 几种php 删除数组元素方法在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素我必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法几种...
  • 数组里面有trim函数么?怎么把数组里面所有为0的开头和结束的数据从数组中删除呢?
  • 数组方法 ** 数组的栈方法: push:在数组后添加一项,返回新数组。 pop:在数组后删除一项,返回最后一项。 unshift:在数组前面添加一项或多项,并返回新的长度。 shift:在数组前面删除一项,并返回第一个元素的...
  • 数组方法 字符串方法 数组 字符串共有之方法 数组方法 1.arr.concat ( ) 合并两个数组 arr3 = arr.concat(arr1) 2.arr.join ( ) 将数组转化成字符串 以 join 括号里的 字符 拼接ßß str = arr.join() // 1234 3.arr...
  • jQuery中查找数组中的索引inArray ...注意了:在ECMAScript5已经有数据的indexOf方法支持了,但是jQuery保持了版本向下兼容,所以封装了一个inArray方法 jQuery.inArray()函数用于在数组中搜索指定...
  • 数组方法 改变原数组 pop()尾删,返回删除的值,改变原数组数组如果为空,返回undefined。 push()尾增,返回数组的长度,改变原数组。 shift()首删,返回删除的值,改变原数组。 unshift()首增,返回数组...
  • 数组方法 迭代(遍历)方法 forEach() array.forEach(function(currentValue,index,arr)) currentValue数组当前项的值 index数组当前项的索引 arr数组对象本身 <script> // forEach 迭代(遍历) 数组 var arr...
  • js字符串方法数组方法

    千次阅读 2019-08-19 08:46:38
    js字符串方法和js数组方法 字符串 铺垫: var str = 'hello world'; console.log(str[1]);//可以直接获取字符串指定位置字符,不建议使用,耗内存。 console.log(str.charAt(1))//e 推荐使用 console.log(str.charAt...
  • trim方法

    2021-03-02 21:15:40
    新建char[] chs,把i~j之间的字符加入数组。 最后重新创建一个string public static String trim(String x){ int i=0; int j=x.length()-1; char ch1=x.charAt(i); while(ch1==' '){ i++; ch1=x.charAt(i);...
  • ES5中新增了一些方法,可以很方便的操作数组、字符串以及对象 数组方法 迭代(遍历)方法: 使用forEach()、map()、filter()、some()、every()等方法来遍历数组。 具体用法: arr.forEach(function()) 字符串方法 ...
  • join,就是把数组转换成字符串,然后给他规定个连接字符,默认的是逗号( ,),书写格式:join(" "),括号里面写字符串 (“要加引号”), var arr = [1,2,3]; console.log(arr.join()); // 1,2,3 console.log(arr.join...
  • 20 30 第三行输入:10 40 第四行输入:3 5 自己原来的想法就是,先用一个int类型数据利用方法nextInt接收n,然后循环n次,每次循环都利用nextLine方法接收接下来的字符串,在将字符串通过split()方法变为数组,将...
  • 数组数组把数组转换为字符串(不改变原数组,返回新的字符串)jointoString增(返回新数组长度)pushunshift删(返回被删除的值。类型不变)popshift拼接splice(start,length,insert,insert)(拼接)slice(start,end)...
  • 字符串与数组方法

    2019-11-28 09:00:10
    数组方法## 标题1.push(); 方法:在数组的最后面添加内容,返回值是添加后数组的长度 2.pop() 方法:把数组的最后一个删除,返回值是删除的那一项 3.unshift() 方法:在数组的最前面添加内容,返回值是添加后数组的...
  • 几种php删除数组元素方法在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法。...
  • js trim方法的实现

    2019-08-17 10:10:40
    2、用法:创建一个字符串,直接使用它的trim方法,因为字符串在使用属性和方法时会隐式的创建包装对象,所以基本数据类型 string 也可以使用方法 。使用后收尾的空字符全部被删除,但中间的空字符不会被删除 ,如下...
  • 数组新增的方法和字符串的方法 数组新增的方法: indexOf(n)返回n在数组中的索引,无就返回-1 forEach() map() filter() 过滤出满足条件的数组元素 some() 只要有一个数组元素满足条件,就返回true every() 每一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 117,797
精华内容 47,118
关键字:

数组的trim方法