String对象的常用方法及例子

一、string.slice(索引号1,索引号2):切割字符串

切割的范围是从索引号1(包含)到索引号2(不包含):

var str = 'dhasdasdads';
var newStr = str.slice(0,3);
console.log(newStr);   //   输出dha

二、string.split(seperator):将字符串拆分为字符串数组

1.参数seperator可以是空字符,表示每个字母形成一个数组元素

var str = 'dhasdasdads';
var arr = str.split('');
console.log(arr);   //   输出['d','h','a','s','d','a','s','d','a','d','s']

2.参数seperator可以是空格,表示每个以空格作为划分的单词形成一个数组元素

var str = 'dha sda sda ds';
var arr = str.split(' ');
console.log(arr);   //   输出['dha','sda','sda','ds']

3.参数seperator可以是某个字符,表示以这个字符作为划分的其他字符形成一个数组元素(不包括作为seperator的字符本身)

var str = 'dhasdasdads';
var arr = str.split('a');
console.log(arr);    //  输出['dh','sd','sd','ds']

三、string.indexOf():返回某个字符在这个字符串中第一次出现的位置(索引号);判断字符串中是否存在某个子字符串

例:判断以下消息是否为圣诞消息(判断字符串中是否存在某个子字符串,不存在返回-1
Happy Birthday!
Merry Christmas my love
A happy Christmas to all the family
You’re all I want for Christmas
Get well soon

解答:

var list = document.querySelector('.output ul');
list.innerHTML = '';
var greetings = ['Happy Birthday!',
                 'Merry Christmas my love',
                 'A happy Christmas to all the family',
                 'You\'re all I want for Christmas',
                 'Get well soon'];

for (var i = 0; i < greetings.length; i++) {
  var input = greetings[i];
  if (input.indexOf('Christmas')!==-1) {      // 此处检查‘Christmas’子字符串是否存在
    var result = input;
    var listItem = document.createElement('li');
    listItem.textContent = result;
    list.appendChild(listItem);
  }
}
### Java Stream API 处理对象常用方法 #### 方法概述 Java Stream API 提供了一系列用于处理对象方法,这些方法能够帮助开发者更高效地操作集合数据。Stream API 支持多种操作方式,包括但不限于中间操作和终端操作。中间操作返回一个新的流,而终端操作则会触发实际的数据处理并结束流的操作链。 #### 常见操作实例 ##### 过滤 (filter) 过滤操作允许基于特定条件筛选流中的元素。对于对象来说,这通常意味着只保留满足某些属性值的对象。 ```java List<Person> people = Arrays.asList( new Person("Alice", 30), new Person("Bob", 25), new Person("Charlie", 35)); // 只选择年龄大于等于30的人 List<Person> filteredPeople = people.stream() .filter(person -> person.getAge() >= 30) .collect(Collectors.toList()); ``` ##### 映射 (map) 映射操作可以转换流中每一个元素的形式或结构。当应用于对象时,`map()` 函数可用于提取对象的一个字段或将整个对象转化为另一种形式。 ```java // 获取所有人名列表 List<String> names = people.stream() .map(Person::getName) .collect(Collectors.toList()); ``` ##### 排序 (sorted) 排序操作可以根据自然顺序或者自定义比较器对流内的元素进行排列。如果要按对象某个属性排序,则可以通过提供相应的Comparator来完成。 ```java // 按照年龄升序排序 List<Person> sortedByAgeAsc = people.stream() .sorted(Comparator.comparingInt(Person::getAge)) .collect(Collectors.toList()); // 或者降序排序 List<Person> sortedByAgeDesc = people.stream() .sorted((p1, p2) -> Integer.compare(p2.getAge(), p1.getAge())) .collect(Collectors.toList()); ``` ##### 归约 (reduce) 归约操作可用来累积流内所有元素的结果,比如求总和、最大最小值等。此过程可能涉及二元运算符或是带有初始值的身份函数。 ```java int totalAge = people.stream() .mapToInt(Person::getAge) .reduce(0, Integer::sum); ``` ##### 聚合统计 (summaryStatistics) 为了方便获取一组数值型数据的各种统计数据(如计数、平均值、总和),可以直接调用 `Collectors.summarizingInt/Long/Double` 来获得对应的描述性统计摘要。 ```java IntSummaryStatistics stats = people.stream() .collect(Collectors.summarizingInt(Person::getAge)); System.out.println(stats.getCount()); // 总人数 System.out.println(stats.getAverage()); // 平均年龄 System.out.println(stats.getMax()); // 最大年龄 System.out.println(stats.getMin()); // 最小年龄 System.out.println(stats.getSum()); // 所有人年龄之和 ``` ##### 查找匹配项 (anyMatch/allMatch/noneMatch) 查找是否至少有一个元素符合条件(`anyMatch`);全部都符合 (`allMatch`);没有任何一个符合 (`noneMatch`)。 ```java boolean hasAdults = people.stream().anyMatch(person -> person.getAge() >= 18); boolean allAreLegalDrivers = people.stream().allMatch(person -> person.getAge() >= 16); boolean noMinorsPresent = people.stream().noneMatch(person -> person.getAge() < 18); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值